Re: bug in SignalSomeChildren

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: bug in SignalSomeChildren
Date: 2010-12-17 17:14:38
Message-ID: 4D0B9A7E.7070406@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 17.12.2010 19:08, Robert Haas wrote:
> On Fri, Dec 17, 2010 at 11:43 AM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Alvaro Herrera<alvherre(at)commandprompt(dot)com> writes:
>>> Excerpts from Tom Lane's message of vie dic 17 13:18:35 -0300 2010:
>>>> I think what we ought to be looking to do is get rid of the distinction,
>>>> so that the postmaster treats walsenders the same as other children.
>>
>>> I think the problem with this is that walsenders are treated in a very
>>> special way during shutdown -- they need to stay up until after bgwriter
>>> is gone.
>>
>> Why do they need to survive the bgwriter?

Because we want the shutdown checkpoint record that bgwriter writes just
before it dies to be replicated to the standbys.

>> And more to the point, why
>> does that logic need to be implemented on the postmaster side? Since
>> only the child process really knows reliably whether it's a walsender,
>> it'd be far safer if the behavioral difference could be handled on the
>> child side. I haven't looked at the details, but I'm wondering if we
>> couldn't make this go by having walsender children react differently
>> to the same signals the postmaster sends other children.
>
> I'm not too sure we're shutting down the WAL senders right now.

Sure we do. postmaster sends walsenders SIGUSR2 when bgwriter dies. When
a walsender receives SIGUSR2, it tries to send all pending WAL, and
terminates after that. The postmaster goes into PM_SHUTDOWN_2 state,
waiting for all the walsenders and the archiver process to die.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-12-17 17:15:10 Re: proposal: FOREACH-IN-ARRAY (probably for 9.2?)
Previous Message Magnus Hagander 2010-12-17 17:13:15 Re: Re: Proposed Windows-specific change: Enable crash dumps (like core files)