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