Re: pg_get_wal_replay_pause_state() should not return 'paused' while a promotion is ongoing. - Mailing list pgsql-hackers

From Dilip Kumar
Subject Re: pg_get_wal_replay_pause_state() should not return 'paused' while a promotion is ongoing.
Date
Msg-id CAFiTN-vgo9VnNDq2EaPfFBzpmUt=DjwzyY8xaC9ss3Pz9Y3OMw@mail.gmail.com
Whole thread Raw
In response to Re: pg_get_wal_replay_pause_state() should not return 'paused' while a promotion is ongoing.  (Fujii Masao <masao.fujii@oss.nttdata.com>)
Responses Re: pg_get_wal_replay_pause_state() should not return 'paused' while a promotion is ongoing.
List pgsql-hackers
On Wed, May 19, 2021 at 10:16 AM Fujii Masao
<masao.fujii@oss.nttdata.com> wrote:
>
> On 2021/05/18 15:46, Michael Paquier wrote:
> > On Tue, May 18, 2021 at 12:48:38PM +0900, Fujii Masao wrote:
> >> Currently a promotion causes all available WAL to be replayed before
> >> a standby becomes a primary whether it was in paused state or not.
> >> OTOH, something like immediate promotion (i.e., standby becomes
> >> a primary without replaying outstanding WAL) might be useful for
> >> some cases. I don't object to that.
> >
> > Sounds like a "promotion immediate" mode.  It does not sound difficult
> > nor expensive to add a small test for that in one of the existing
> > recovery tests triggerring a promotion.  Could you add one based on
> > pg_get_wal_replay_pause_state()?
>
> You're thinking to add the test like the following?
> #1. Pause the recovery
> #2. Confirm that pg_get_wal_replay_pause_state() returns 'paused'
> #3. Trigger standby promotion
> #4. Confirm that pg_get_wal_replay_pause_state() returns 'not paused'
>
> It seems not easy to do the test #4 stably because
> pg_get_wal_replay_pause_state() needs to be executed
> before the promotion finishes.

Even for #2, we can not ensure that whether it will be 'paused' or
'pause requested'.

-- 
Regards,
Dilip Kumar
EnterpriseDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: postgres_fdw - should we tighten up batch_size, fetch_size options against non-numeric values?
Next
From: Kyotaro Horiguchi
Date:
Subject: Re: pg_get_wal_replay_pause_state() should not return 'paused' while a promotion is ongoing.