From: Michael Paquier <michael@paquier.xyz>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Andrey Lepikhov <a.lepikhov@postgrespro.ru>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Subject: Re: The XLogFindNextRecord() routine find incorrect record start point after a long continuation record
Date: Thu, 7 Nov 2019 12:41:36 +0900
Message-ID: <20191107034136.GI1768@paquier.xyz> (raw)
In-Reply-To: <CAHGQGwH22gP_iUP=hCEONTqS-abKnQ44K+wEwYdur=81Y8pSEQ@mail.gmail.com>
References: <99303554-5dd5-06e6-f943-b3005ccd6edd@postgrespro.ru>
<20191106044120.GF1604@paquier.xyz>
<c57afeaf-4cf5-84a9-d19b-738f3f801e78@postgrespro.ru>
<CAHGQGwH22gP_iUP=hCEONTqS-abKnQ44K+wEwYdur=81Y8pSEQ@mail.gmail.com>
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.
--
Michael
Attachments:
signature.asc (application/pgp-signature, 832B) 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: michael@paquier.xyz, masao.fujii@gmail.com, 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: <20191107034136.GI1768@paquier.xyz>
* 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