Re: [BUG] Panic due to incorrect missingContrecPtr after promotion

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: simseih(at)amazon(dot)com
Cc: alvherre(at)alvh(dot)no-ip(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [BUG] Panic due to incorrect missingContrecPtr after promotion
Date: 2022-02-24 07:26:42
Message-ID: 20220224.162642.47104618503429482.horikyota.ntt@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

At Wed, 23 Feb 2022 02:58:07 +0000, "Imseih (AWS), Sami" <simseih(at)amazon(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2022-02-24 07:50:19 Re: Optionally automatically disable logical replication subscriptions on error
Previous Message tanghy.fnst@fujitsu.com 2022-02-24 07:20:49 RE: Design of pg_stat_subscription_workers vs pgstats