From: Andrey Lepikhov <a.lepikhov@postgrespro.ru>
To: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Subject: The XLogFindNextRecord() routine find incorrect record start point after a long continuation record
Date: Wed, 6 Nov 2019 07:40:48 +0500
Message-ID: <99303554-5dd5-06e6-f943-b3005ccd6edd@postgrespro.ru> (raw)
I found this in our multimaster project on PostgreSQL 11.5. It is
difficult to reproduce this error, but I will try to do it if necessary.
The rest of a continuation WAL-record can exactly match the block size.
In this case, we need to switch targetPagePtr to the next block before
calculating the starting point of the next WAL-record.
See the patch in attachment for the bug fix.
--
Andrey Lepikhov
Postgres Professional
https://postgrespro.com
The Russian Postgres Company
Attachments:
0001-Correct-the-algorithm-of-definition-of-WAL-record-st.patch (text/x-patch, 0B) download
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: a.lepikhov@postgrespro.ru, pgsql-bugs@lists.postgresql.org
Subject: Re: The XLogFindNextRecord() routine find incorrect record start point after a long continuation record
In-Reply-To: <99303554-5dd5-06e6-f943-b3005ccd6edd@postgrespro.ru>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox