Skip site navigation (1) Skip section navigation (2)

Re: Immediate shutdown during recovery

From: "Fujii Masao" <masao(dot)fujii(at)gmail(dot)com>
To: "Simon Riggs" <simon(at)2ndquadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Immediate shutdown during recovery
Date: 2008-11-29 01:33:37
Message-ID: 3f0b79eb0811281733k600f0ed6xaa08e3badd23773f@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-hackers
Hello,

On Sat, Nov 29, 2008 at 12:40 AM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
>
> On Fri, 2008-11-28 at 19:53 +0900, Fujii Masao wrote:
>> Hi,
>>
>> On Fri, Nov 28, 2008 at 6:56 PM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
>> > Hi,
>> >
>> > The immediate shutdown (pg_ctl -m i stop) might not be able to
>> > kill the startup process during archive recovery. It's because
>> > the startup process calls system() which ignores SIGQUIT for
>> > executing the restore_command. So, only the startup process
>> > might survive the immediate shutdown and continue redoing up
>> > to the end. Is this desirable behavior? This sounds odd for me.
>>
>> In RestoreArchivedFile(), there is the following code as the safeguard
>> against the termination of restore_command by signal. But the
>> safeguard might not work if restore_command defines its own signal
>> handler for SIGQUIT like pg_standby.
>>
>> > signaled = WIFSIGNALED(rc) || WEXITSTATUS(rc) > 125;
>> >
>> > ereport(signaled ? FATAL : DEBUG2,
>> >     (errmsg("could not restore file \"%s\" from archive: return code %d",
>> >             xlogfname, rc)));
>
> Agree there is an existing problem.
>
> Suggest we fix it after the main patches are committed.

OK, thanks.

-- 
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

In response to

pgsql-hackers by date

Next:From: Andrew GierthDate: 2008-11-29 03:07:49
Subject: BUG #4553: HOLD cursors not materializing results fully
Previous:From: Peter EisentrautDate: 2008-11-28 23:28:47
Subject: Re: HEAD build failure on win32 mingw

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group