Re: The XLogFindNextRecord() routine find incorrect record startpoint after a long continuation record - Mailing list pgsql-bugs

From Fujii Masao
Subject Re: The XLogFindNextRecord() routine find incorrect record startpoint after a long continuation record
Date
Msg-id CAHGQGwG23CD3qmW3XXh6bOfn2ogzuh=K_4ZgaKLpYCejhn_Xgw@mail.gmail.com
Whole thread Raw
In response to Re: The XLogFindNextRecord() routine find incorrect record startpoint after a long continuation record  (Michael Paquier <michael@paquier.xyz>)
Responses Re: The XLogFindNextRecord() routine find incorrect record startpoint after a long continuation record  (Michael Paquier <michael@paquier.xyz>)
List 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



pgsql-bugs by date:

Previous
From: Dilip Kumar
Date:
Subject: Re: Reorderbuffer crash during recovery
Next
From: Michael Paquier
Date:
Subject: Re: The XLogFindNextRecord() routine find incorrect record startpoint after a long continuation record