The XLogFindNextRecord() routine find incorrect record start pointafter a long continuation record - Mailing list pgsql-bugs

From Andrey Lepikhov
Subject The XLogFindNextRecord() routine find incorrect record start pointafter a long continuation record
Date
Msg-id 99303554-5dd5-06e6-f943-b3005ccd6edd@postgrespro.ru
Whole thread Raw
Responses Re: The XLogFindNextRecord() routine find incorrect record startpoint after a long continuation record  (Michael Paquier <michael@paquier.xyz>)
List pgsql-bugs
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

Attachment

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: BUG #15912: The units of `autovacuum_vacuum_cost_delay` settingshould be documented
Next
From: Michael Paquier
Date:
Subject: Re: The XLogFindNextRecord() routine find incorrect record startpoint after a long continuation record