At Wed, 23 Feb 2022 02:58:07 +0000, "Imseih (AWS), Sami" <sims...@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


Reply via email to