News for hackers. Stuff that matters.
Re:PostgreSQL used fsync incorrectly for 20 years by anarazel on Sunday February 10, 2019 @03:59AM (#19126982)
I'm a bit confused by this perception of the thread. There was one person doubtful the patch is the right approach (Tom), but still offered concrete review comments (of actual issues that'd at the very least need to be documented in code comments). Others agreed that it's something that needs to be done.

> Instead of saying "yeah, that's right", people go off in every random direction, with people arguing about your NFS mount options, what things can cause write to do that and whether they are possible[1] or they should care about them.

Given that changing the mount option solved the immediate problem for the OP, I fail to see how it's random.

> [1] spoiler alert: it doesn't matter. The API allows for this, you need to handle it.

Sure, it's not like the return value was ignored before though. I agree retrying is the better response, but erroring out is a form of handling (and will also lead to retries in several places, just with a loop that's not tightly around the write()).

Re:PostgreSQL used fsync incorrectly for 20 years by thewsc on Sunday February 10, 2019 @06:43AM (#19127418)
> Given that changing the mount option solved the immediate problem for the OP, I fail to see how it's random.

It's random because pretty much anyone could volunteer that opinion. By diagnosing the problem, making a patch and reaching out the author has already made their intention of fixing the problem clear. Unless it has been established that the problem isn't valid a workaround isn't really relevant.

Effective communication and exchange of ideas needs to have a good ratio between work and value. I used to frequent meetups where people would present projects with thousands of hours or work and priorities behind them. There would almost always be someone with less experience stating their "ideas" on what should be done instead. Eventually those people would end up talking among themselves where their ideas could flow freely without any restriction of actual work being done.

Experienced people provide value. They try to understand the problem, add their own experience to it and validate the work that has already been done. They make the problem smaller and closer to a solution. They don't, or shouldn't, casually increase the scope for little reason.

Re:PostgreSQL used fsync incorrectly for 20 years by anarazel on Sunday February 10, 2019 @10:29AM (#19128113)
> It's random because pretty much anyone could volunteer that opinion. By diagnosing the problem, making a patch and reaching out the author has already made their intention of fixing the problem clear. Unless it has been established that the problem isn't valid a workaround isn't really relevant.

I'm baffled by this. Even if the fix had been immediately committed, the workaround of using nointr still would have been valuable, because a fixed version of postgres wouldn't immediately have been released.

You seem to argue in a way that entirely counteract your own later comments.

Re:PostgreSQL used fsync incorrectly for 20 years by thewsc on Sunday February 10, 2019 @02:51PM (#19129608)
If someone spends x amount of work hours on something, that is what they want feedback on. They aren't looking for quick suggestions on other paths to explore. It isn't a brain storming session. It is work done being represented by an e-mail, code or a product. You are being presented with their theory for a solution. At some point something else might be relevant, but that isn't something to assume. The assumption should be that the person presenting have made their choices based on their situation.

It is often the same with software. Good feedback on software isn't random ideas, suggestions or feature requests that adds hundreds of hours of work on a whim. It is feedback that considers the work that has already been done. Anyone can come up with something else, especially in theory and with a blank slate. It doesn't really require anything other than an opinion. Hacker News certainly is proof of that.

Re:PostgreSQL used fsync incorrectly for 20 years by thewsc2 on Sunday February 10, 2019 @08:16PM (#19131358)
Sure. Postgres misses a bug for years because they can't give even the most basic attention to someone on a mailing list, you know were you supposedly talk about things like bugs, and then defend the whole thing with excuses, rhetoric and further useless assumptions but I am the bad guy. This is exactly why people don't bother. Experience is just a liability these days in the "community". Companies maintain their own patches and conversations happens privately. Just sad to see such potential for accessibility wasted on arrogance. I guess it isn't really surprising though when everyone different already left.
Re:PostgreSQL used fsync incorrectly for 20 years by anarazel on Sunday February 10, 2019 @08:53PM (#19131490)
You're basically just making shit up at this point. The most critical message in that thread contained pieces like

https://news.ycombinator.com/item?id=19128154

Re:PostgreSQL used fsync incorrectly for 20 years by thewsc3 on Monday February 11, 2019 @04:09AM (#19133023)
> You're basically just making shit up at this point.

You keep making my point. All you have is defensive, deflecting and rude comments. If you disagree with something it isn't hard to say "I disagree that x is y because z", like anyone interested in a discussion would. I will keep this in mind when interacting with the community, commissioning work or buying services related to Postgres comes across my desk.

Re:PostgreSQL used fsync incorrectly for 20 years by anarazel on Monday February 11, 2019 @04:21AM (#19133076)
Turns out people don't like one baseless accusation after another. I provided you with concrete references where review comments where made, where people agreed it was necessary. Yet you deny that happened, without refuting anything concrete.

Note that you're the one hiding behind at least the third sockpuppet account.

Re:PostgreSQL used fsync incorrectly for 20 years by thewsc4 on Monday February 11, 2019 @05:56AM (#19133516)
There is really no point in carrying on this conversation. I have made a number of argument and you are the one who have accused me of things. First I was contradicting myself, then making shit up and now of hiding behind sockpuppets. I haven't denied anything, you singled out a single sentence of my comments where you could snipe at me. The overall point, the discussion, and the repeated arguments I have made still stands.

I am not hiding anymore than any other anonymous account and for no other reason than time management and privacy. I shouldn't frequent hacker news for reasons previously stated, but sometimes I tell myself that the decent thing is to reply. Especially as many people won't. Now it is clear that this discussion isn't going anywhere so I won't be creating any other accounts or comments. To prevent any ambiguity this won't change.

Re:PostgreSQL used fsync incorrectly for 20 years by pgaddict on Monday February 11, 2019 @08:01PM (#19140087)
No one suggested having an anonymous account is an issue. The issue is the account being a sockpuppet one.
Re:PostgreSQL used fsync incorrectly for 20 years by acqq on Sunday February 10, 2019 @06:44AM (#19127422)
> I agree retrying is the better response, but erroring out is a form of handling

In this case it is “a form” but that specific handling is provably wrong. That is important: everybody could have tried and proved again. Therefore just dismissing the correct handling and keeping the wrong one is, let me repeat, also provably wrong.

Re:PostgreSQL used fsync incorrectly for 20 years by jbverschoor on Sunday February 10, 2019 @06:30AM (#19127385)
They were not ewview comments. They were arguments about where it ends. He's totalyl unwilling, and says you shouldn't run of of NFS. But then other people are, and are talking about mount options, when the problem clearly lies in the code not following the specs.
Re:PostgreSQL used fsync incorrectly for 20 years by anarazel on Sunday February 10, 2019 @10:37AM (#19128154)
Why are:

> 1. If writes need to be retried, why not reads? (No, that's not an invitation to expand the scope of the patch; it's a question about NFS implementation.)

and

> 4. As coded, the patch behaves incorrectly if you get a zero return on a retry. If we were going to do this, I think we'd need to absorb the errno-munging currently done by callers into the writeAll function.

not review comments?

> when the problem clearly lies in the code not following the specs.

There were plenty of questions about how exactly the fix should look like below

https://www.postgresql.org/message-id/AD4A13A5-8778-4D94-BBB...

How's that not review?

Re:PostgreSQL used fsync incorrectly for 20 years by lugg on Sunday February 10, 2019 @05:35AM (#19127223)
You had me until you tried to justify bubbling the error instead of handling it at its source while possible.
Re:PostgreSQL used fsync incorrectly for 20 years by naasking on Sunday February 10, 2019 @09:19AM (#19127844)
That can be a correct response, for instance, if you have some sort of async i/o in place so you don't want to wait for a write that's not ready because you'll block.
Re:PostgreSQL used fsync incorrectly for 20 years by anarazel on Sunday February 10, 2019 @05:47AM (#19127250)
Hm? I explicitly said that retries would be better?