Re: [BUG] Panic due to incorrect missingContrecPtr after promotion - Mailing list pgsql-hackers

From Kyotaro Horiguchi
Subject Re: [BUG] Panic due to incorrect missingContrecPtr after promotion
Date
Msg-id 20220224.162642.47104618503429482.horikyota.ntt@gmail.com
Whole thread Raw
In response to Re: [BUG] Panic due to incorrect missingContrecPtr after promotion  ("Imseih (AWS), Sami" <simseih@amazon.com>)
Responses Re: [BUG] Panic due to incorrect missingContrecPtr after promotion
Re: [BUG] Panic due to incorrect missingContrecPtr after promotion
List pgsql-hackers
At Wed, 23 Feb 2022 02:58:07 +0000, "Imseih (AWS), Sami" <simseih@amazon.com> wrote in 
> >    Ooh, nice find and diagnosys.  I can confirm that the test fails as you
> >    described without the code fix, and doesn't fail with it.
> 
> >    I attach the same patch, with the test file put in its final place
> >    rather than as a patch.  Due to recent xlog.c changes this need a bit of
> >    work to apply to back branches; I'll see about getting it in all
> >    branches soon.
> 
> Thank you for reviewing!

Nice catch!  However, I'm not sure I like the patch.

      * made it through and start writing after the portion that persisted.
      * (It's critical to first write an OVERWRITE_CONTRECORD message, which
      * we'll do as soon as we're open for writing new WAL.)
+     *
+     * If the last wal record is ahead of the missing contrecord, this is a
+     * recently promoted primary and we should not write an overwrite
+     * contrecord.

Before the part, the comment follows the part shown below.

>     * Actually, if WAL ended in an incomplete record, skip the parts that

So, actually WAL did not ended in an incomplete record.  I think
FinishWalRecover is the last place to do that. (But it could be
earlier.)

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



pgsql-hackers by date:

Previous
From: "tanghy.fnst@fujitsu.com"
Date:
Subject: RE: Design of pg_stat_subscription_workers vs pgstats
Next
From: Masahiko Sawada
Date:
Subject: Re: Optionally automatically disable logical replication subscriptions on error