Re: Postgres, fsync, and OSs (specifically linux)
Craig Ringer <craig@2ndquadrant.com>
From: Craig Ringer <craig@2ndquadrant.com>
To: Thomas Munro <thomas.munro@enterprisedb.com>
Cc: Asim R P <apraveen@pivotal.io>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2018-08-30T02:44:33Z
Lists: pgsql-hackers
On 15 August 2018 at 07:32, Thomas Munro <thomas.munro@enterprisedb.com> wrote: > On Wed, Aug 15, 2018 at 11:08 AM, Asim R P <apraveen@pivotal.io> wrote: > > I was looking at the commitfest entry for feature > > (https://commitfest.postgresql.org/19/1639/) for the most recent list > > of patches to try out. The list doesn't look correct/complete. Can > > someone please check? > > Hi Asim, > > This thread is a bit tangled up. There are two related patchsets in it: > > 1. Craig Ringer's PANIC-on-EIO patch set, to cope with the fact that > Linux throws away buffers and errors after reporting an error, so the > checkpointer shouldn't retry as it does today. The latest is here: > > https://www.postgresql.org/message-id/CAMsr%2BYFPeKVaQ57PwHqmRNjPCPABsdbV% > 3DL85he2dVBcr6yS1mA%40mail.gmail.com > > 2. Andres Freund's fd-sending fsync queue, to cope with the fact that > some versions of Linux only report writeback errors that occurred > after you opened the file, and all versions of Linux and some other > operating systems might forget about writeback errors while no one has > it open. > > Here is the original patchset: > > https://www.postgresql.org/message-id/20180522010823. > z5bdq7wnlsna5qoo%40alap3.anarazel.de > > Here is a fix-up you need: > > https://www.postgresql.org/message-id/20180522185951. > 5sdudzl46spktyyz%40alap3.anarazel.de > > Here are some more fix-up patches that I propose: > > https://www.postgresql.org/message-id/CAEepm%3D2WSPP03-20XHpxohSd2UyG_ > dvw5zWS1v7Eas8Rd%3D5e4A%40mail.gmail.com > > I will soon post some more fix-up patches that add EXEC_BACKEND > support, Windows support, and a counting scheme to fix the timing > issue that I mentioned in my first review. I will probably squash it > all down to a tidy patch-set after that. > Thanks very much Tomas. I've had to back off from this a bit after posting my initial panic-for-safety patch, as the changes Andres proposed are a bit out of my current depth and time capacity. I still think the panic patch is needed and appropriate, but agree it's not *sufficient*.
Commits
-
PANIC on fsync() failure.
- 9ccdd7f66e33 12.0 landed
- f1ff5f51d249 9.4.21 landed
- 312435232217 9.5.16 landed
- b9cce9ddfa17 9.6.12 landed
- afbe03f65470 10.7 landed
- 6534d544cd77 11.2 landed
-
Fix and improve pg_atomic_flag fallback implementation.
- 8c3debbbf618 11.0 cited