|From:||Andres Freund <andres(at)anarazel(dot)de>|
|To:||Michael Paquier <michael(dot)paquier(at)gmail(dot)com>|
|Cc:||Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>|
|Subject:||Re: silent data loss with ext4 / all current versions|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
On 2016-03-05 19:54:05 -0800, Andres Freund wrote:
> I started working on this; delayed by taking longer than planned on the
> logical decoding stuff (quite a bit complicated by
> e1a11d93111ff3fba7a91f3f2ac0b0aca16909a8). I'm not very happy with the
> error handling as it is right now. For one, you have rename_safe return
> error codes, and act on them in the callers, but on the other hand you
> call fsync_fname which always errors out in case of failure. I also
> don't like the new messages much.
> Will continue working on this tomorrow.
So, here's my current version of this. I've not performed any testing
yet, and it's hot of the press. There's some comment smithing
needed. But otherwise I'm starting to like this.
* renamed rename_safe to durable_rename
* renamed replace_safe to durable_link_or_rename (there was never any
replacing going on)
* pass through elevel to the underlying routines, otherwise we could
error out with ERROR when we don't want to. That's particularly
important in case of things like InstallXLogFileSegment().
* made fsync_fname use fsync_fname_ext, add 'accept permission errors'
* have walkdir call a wrapper, to add ignore_perms param
What do you think?
I sure wish we had the recovery testing et al. in all the back
|Next Message||Amit Langote||2016-03-07 07:16:30||Re: [PROPOSAL] VACUUM Progress Checker.|
|Previous Message||Tsunakawa, Takayuki||2016-03-07 06:30:47||Re: How can we expand PostgreSQL ecosystem?|