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
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 |