Re: Fairly serious bug induced by latest guc enum changes

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Fairly serious bug induced by latest guc enum changes
Date: 2008-07-01 18:57:38
Message-ID: 486A7E22.7050405@hagander.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> Magnus Hagander <magnus(at)hagander(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2008-07-01 18:58:53 Re: Location for pgstat.stat
Previous Message Tom Lane 2008-07-01 18:56:02 Re: Location for pgstat.stat