Re: Postgres, fsync, and OSs (specifically linux)
Dmitry Dolgov <9erthalion6@gmail.com>
From: Dmitry Dolgov <9erthalion6@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Thomas Munro <thomas.munro@enterprisedb.com>,
Craig Ringer <craig@2ndquadrant.com>, Heikki Linnakangas <hlinnaka@iki.fi>, Robert Haas <robertmhaas@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2018-05-22T18:54:46Z
Lists: pgsql-hackers
> On 22 May 2018 at 18:47, Andres Freund <andres@anarazel.de> wrote: > On 2018-05-22 08:57:18 -0700, Andres Freund wrote: >> Hi, >> >> >> On 2018-05-22 17:37:28 +0200, Dmitry Dolgov wrote: >> > Thanks for the patch. Out of curiosity I tried to play with it a bit. >> >> Thanks. >> >> >> > `pgbench -i -s 100` actually hang on my machine, because the >> > copy process ended up with waiting after `pg_uds_send_with_fd` >> > had >> >> Hm, that had worked at some point... >> >> >> > errno == EWOULDBLOCK || errno == EAGAIN >> > >> > as well as the checkpointer process. >> >> What do you mean with that latest sentence? To investigate what's happening I attached with gdb to two processes, COPY process from pgbench and checkpointer (since I assumed it may be involved). Both were waiting in WaitLatchOrSocket right after SendFsyncRequest. >> > Looks like with the default >> > configuration and `max_wal_size=1GB` it writes more than reads to a >> > socket, and a buffer eventually becomes full. >> >> That's intended to then wake up the checkpointer immediately, so it can >> absorb the requests. So something isn't right yet. > > Doesn't hang here, but it's way too slow. Yep, in my case it was also getting slower, but eventually hang. > Reason for that is that I've wrongly resolved a merge conflict. Attached is a > fixup patch - does that address the issue for you? Hm...is it a correct patch? I see the same committed in 8c3debbbf61892dabd8b6f3f8d55e600a7901f2b, so I can't really apply it.
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