Lists: | pgsql-hackers |
---|
From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
---|---|
To: | Heikki Linnakangas <heikki(at)postgresql(dot)org> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Latches, loop and exit |
Date: | 2010-09-14 15:14:31 |
Message-ID: | 1284477271.1952.3769.camel@ebony |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Like latches, nice one.
The way the loop in WalSender now happens it won't send any outstanding
WAL if a shutdown is requested while it is waiting.
That probably needs to change and we'd do similarly in other procs.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Training and Services
From: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
---|---|
To: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
Cc: | Heikki Linnakangas <heikki(at)postgresql(dot)org>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Latches, loop and exit |
Date: | 2010-09-15 01:33:20 |
Message-ID: | AANLkTikdaPcFsxo2ZuJ_j+pDuKuxu19apf7uVC9X+YBQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
On Wed, Sep 15, 2010 at 12:14 AM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
>
> Like latches, nice one.
>
> The way the loop in WalSender now happens it won't send any outstanding
> WAL if a shutdown is requested while it is waiting.
>
> That probably needs to change and we'd do similarly in other procs.
Really? ISTM that walsender tries to send all outstanding WAL without
problems after it receives SIGUSR2. Am I missing something?
Regards,
--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center
From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
---|---|
To: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
Cc: | Heikki Linnakangas <heikki(at)postgresql(dot)org>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Latches, loop and exit |
Date: | 2010-09-15 06:19:16 |
Message-ID: | 1284531556.1952.4734.camel@ebony |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
On Wed, 2010-09-15 at 10:33 +0900, Fujii Masao wrote:
> On Wed, Sep 15, 2010 at 12:14 AM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> >
> > Like latches, nice one.
> >
> > The way the loop in WalSender now happens it won't send any outstanding
> > WAL if a shutdown is requested while it is waiting.
> >
> > That probably needs to change and we'd do similarly in other procs.
>
> Really? ISTM that walsender tries to send all outstanding WAL without
> problems after it receives SIGUSR2. Am I missing something?
For SIGUSR2, you're right.
However, if the following clause is ever invoked, then the loop does
have problems and we leave when not caught up.
if (!PostmasterIsAlive(true))
exit(1);
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Training and Services
From: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
---|---|
To: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
Cc: | Heikki Linnakangas <heikki(at)postgresql(dot)org>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Latches, loop and exit |
Date: | 2010-09-15 06:38:09 |
Message-ID: | AANLkTimyraBazJ3jNjTwTbnYkttDH3bt_rPT=tVT50ga@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
On Wed, Sep 15, 2010 at 3:19 PM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> For SIGUSR2, you're right.
>
> However, if the following clause is ever invoked, then the loop does
> have problems and we leave when not caught up.
>
> if (!PostmasterIsAlive(true))
> exit(1);
In normal shutdown case, that clause is not invoked since postmaster
exits after walsender exits. That is, the clause is for emergency case,
e.g., case where SIGKILL arrives at postmaster. Even in such an
emergency case, you think walsender should send all outstanding WAL?
Regards,
--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center
From: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
---|---|
To: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
Cc: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Latches, loop and exit |
Date: | 2010-09-15 06:40:40 |
Message-ID: | 4C906A68.9040709@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
On 15/09/10 09:19, Simon Riggs wrote:
> On Wed, 2010-09-15 at 10:33 +0900, Fujii Masao wrote:
>> On Wed, Sep 15, 2010 at 12:14 AM, Simon Riggs<simon(at)2ndquadrant(dot)com> wrote:
>>>
>>> Like latches, nice one.
>>>
>>> The way the loop in WalSender now happens it won't send any outstanding
>>> WAL if a shutdown is requested while it is waiting.
>>>
>>> That probably needs to change and we'd do similarly in other procs.
>>
>> Really? ISTM that walsender tries to send all outstanding WAL without
>> problems after it receives SIGUSR2. Am I missing something?
>
> For SIGUSR2, you're right.
>
> However, if the following clause is ever invoked, then the loop does
> have problems and we leave when not caught up.
>
> if (!PostmasterIsAlive(true))
> exit(1);
As the comment above that says, that's just an escape hatch if
postmaster dies unexpectedly for any reason. It won't happen in a normal
shutdown.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
---|---|
To: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
Cc: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Latches, loop and exit |
Date: | 2010-09-15 07:08:57 |
Message-ID: | 1284534537.1952.4789.camel@ebony |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
On Wed, 2010-09-15 at 09:40 +0300, Heikki Linnakangas wrote:
> > However, if the following clause is ever invoked, then the loop does
> > have problems and we leave when not caught up.
> >
> > if (!PostmasterIsAlive(true))
> > exit(1);
>
> As the comment above that says, that's just an escape hatch if
> postmaster dies unexpectedly for any reason. It won't happen in a normal
> shutdown.
Thanks for clarifying. I wanted to copy the logic, so just checking.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Training and Services