Re: The XLogFindNextRecord() routine find incorrect record start point after a long continuation record
Fujii Masao <masao.fujii@gmail.com>
From: Fujii Masao <masao.fujii@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Andrey Lepikhov <a.lepikhov@postgrespro.ru>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2019-11-07T07:37:00Z
Lists: pgsql-bugs
On Thu, Nov 7, 2019 at 12:41 PM Michael Paquier <michael@paquier.xyz> wrote: > > On Thu, Nov 07, 2019 at 02:41:29AM +0900, Fujii Masao wrote: > > I created the problematic WAL file artificially by using > > pg_logical_emit_message() and sucessfully reproduced > > the error. > > Good idea. I didn't know this one. > > > I attached the WAL file that I created. You can > > reproduce the issue by > > > > pg_waldump 000000010000000000000008 -s 0/08002028 > > Assertion failure reproduced here. > > > The patch looks good to me. Barrying any objection, I will commit it. > > XLogFindNextRecord() must return the valid record starting position, > > but currently could return the starting position of WAL page > > (not valid WAL record) in the case that you described. This is > > the cause of the issue. > > No issues from here, thanks for taking care of it. Thanks for the check! I committed the patch! Regards, -- Fujii Masao
Commits
-
Fix assertion failure when running pgbench -s.
- 1accf9974821 9.4.25 landed
- b1bebc2cee58 9.5.20 landed
- aa7cd6a8e741 9.6.16 landed
- 127ad57f5d44 10.11 landed
- fb53c4c07fec 11.6 landed
- e5cfb8cbbe91 12.1 landed
- a0c96856e8b3 13.0 landed
-
Fix pg_xlogdump so that it handles cross-page XLP_FIRST_IS_CONTRECORD record.
- bab7823a49bb 10.0 cited