Re: Fairly serious bug induced by latest guc enum changes - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: Fairly serious bug induced by latest guc enum changes
Date
Msg-id 486A7E22.7050405@hagander.net
Whole thread Raw
In response to Re: Fairly serious bug induced by latest guc enum changes  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Fairly serious bug induced by latest guc enum changes  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Magnus Hagander <magnus@hagander.net> writes:
>> Tom Lane wrote:
>>> Hmm ... or at least more or less fixed.  Seems like there's no provision
>>> to close and reopen the file if enableFsync changes.  Not sure if that's
>>> worth worrying about.
> 
>> We didn't have that before either, did we?
> 
> No, so I think it's a pre-existing bug.

Ok, at least I'm reading the code right.


>> We close it when the sync bit
>> changes, but not just if we change say between fsync() and fdatasync().
>> Is there any actual reason we'd want to close it?
> 
> The point is that if you turn the fsync GUC on or off while using a wal
> sync mode that requires supplying an option flag to open(), then really
> you ought to close the WAL file and re-open it with the new correct
> option flags.  The fact that we're not doing that implies that the
> effects of a change in fsync might not fully take effect until the next
> WAL segment is started.  Whether this is worth fixing isn't real clear.

What scenario does it actually happen in, though? Doesn't the check: if (get_sync_bit(sync_method) !=
get_sync_bit(new_sync_method))

take care of that? If the sync bit changed, we close the file?


Or are you talking about changing the variable "fsync"? If so, doesn't
"fsync=off" also change the behavior of other parts of the code, so it's
not just WAL, which means it'd be pretty unsafe *anyway* unless you
actually "sync" the disks, and not just fsync?

//Magnus


//Magnus


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Location for pgstat.stat
Next
From: Magnus Hagander
Date:
Subject: Re: Location for pgstat.stat