Re: BUG #4879: bgwriter fails to fsync the file in recovery mode

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Simon Riggs <simon(at)2ndQuadrant(dot)com>, Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #4879: bgwriter fails to fsync the file in recovery mode
Date: 2009-06-26 15:57:51
Message-ID: 20090626155751.GC5013@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Tom Lane escribió:
> I wrote:
> > Hmm ... this doesn't really feel cleaner to me, although I'm not sure
> > why not.
>
> Oh, I thought of a more concrete point: InRecovery is inherently a
> system-wide state, but XLogInsertAllowed is *not*. While we write
> the EOR checkpoint, we really want only the bgwriter to be authorized
> to write WAL, but the scheme you propose would effectively authorize
> all processes during that window.

BTW one of the problems of the block-CRC patch was that we needed to
emit WAL records for hint bit states set during shutdown, as buffers
were flushed out, which obviously caused that error message to show up.
Due to another more serious problem I didn't investigate the solution to
this one, but it looks like it would be easy to set XLogInsertAllowed to
true while flushing buffers.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2009-06-26 16:09:31 Re: BUG #4888: Removed brackets from Check Constraints expressions
Previous Message stalker 2009-06-26 15:37:55 BUG #4888: Removed brackets from Check Constraints expressions