Re: pendingOps table is not cleared with fsync=off

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Shawn Debnath <sdn@amazon.com>
Cc: Thomas Munro <thomas.munro@gmail.com>, Heikki Linnakangas <hlinnaka@iki.fi>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-08-10T18:50:26Z
Lists: pgsql-hackers
Shawn Debnath <sdn@amazon.com> writes:
> Good catch. Question is, are the users aware of the requirement to do a 
> manual fsync if they flip the fsync GUC off and then on? Should we do 
> this on their behalf to make a good faith attempt to ensure things are 
> flushed properly via an assign hook?

No.  Or at least, expecting that you can do that from an assign hook
is impossibly wrong-headed.  GUC assign hooks can't have failure modes.

			regards, tom lane



Commits

  1. Move check for fsync=off so that pendingOps still gets cleared.

  2. Refactor the fsync queue for wider use.