Re: Re: [COMMITTERS] pgsql: Checkpointer starts before bgwriter to avoid missing fsync reque

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Re: [COMMITTERS] pgsql: Checkpointer starts before bgwriter to avoid missing fsync reque
Date: 2012-06-01 13:29:17
Message-ID: 23635.1338557357@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Simon Riggs <simon(at)2ndQuadrant(dot)com> writes:
> On 1 June 2012 08:55, Heikki Linnakangas
> <heikki(dot)linnakangas(at)enterprisedb(dot)com> wrote:
>> On 01.06.2012 10:28, Simon Riggs wrote:
>>> Checkpointer starts before bgwriter to avoid missing fsync requests.
>>> Noted while testing Hot Standby startup.

>> The processes are just forked and it will take some time for them to
>> initialize. Isn't there still a race condition, where the bgwriter starts up
>> first, and you still miss fsync requests?

> Possibly...

> How do we handle that same situation if the check pointer crashes?

Surely that commit is useless. Fsync requests go into a queue in shared
memory, which had better have been set up by the postmaster. There is
no requirement that the receiving process exist before somebody can put
a request into the queue. If the queue overflows, the requestor has to
take care of the fsync itself, but that is independent of whether the
checkpointer is running yet.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Simon Riggs 2012-06-01 13:49:39 Re: Re: [COMMITTERS] pgsql: Checkpointer starts before bgwriter to avoid missing fsync reque
Previous Message Simon Riggs 2012-06-01 12:00:40 pgsql: Avoid early reuse of btree pages, causing incorrect query result

Browse pgsql-hackers by date

  From Date Subject
Next Message Merlin Moncure 2012-06-01 13:31:42 Re: 9.2beta1, parallel queries, ReleasePredicateLocks, CheckForSerializableConflictIn in the oprofile
Previous Message Bryan Murphy 2012-06-01 13:07:42 Re: pg_upgrade from 9.0.7 to 9.1.3: duplicate key pg_authid_oid_index