From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | "tsunakawa(dot)takay(at)fujitsu(dot)com" <tsunakawa(dot)takay(at)fujitsu(dot)com> |
Cc: | "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Fix of fake unlogged LSN initialization |
Date: | 2019-10-21 05:03:47 |
Message-ID: | 20191021050347.GB2609@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sat, Oct 19, 2019 at 05:03:00AM +0000, tsunakawa(dot)takay(at)fujitsu(dot)com wrote:
> The attached trivial patch fixes the initialization of the fake
> unlogged LSN. Currently, BootstrapXLOG() in initdb sets the initial
> fake unlogged LSN to FirstNormalUnloggedLSN (=1000), but the
> recovery and pg_resetwal sets it to 1. The patch modifies the
> latter two cases to match initdb.
>
> I don't know if this do actual harm, because the description of
> FirstNormalUnloggedLSN doesn't give me any idea.
From xlogdefs.h added by 9155580:
/*
* First LSN to use for "fake" LSNs.
*
* Values smaller than this can be used for special per-AM purposes.
*/
#define FirstNormalUnloggedLSN ((XLogRecPtr) 1000)
So it seems to me that you have caught a bug here, and that we had
better back-patch to v12 so as recovery and pg_resetwal don't mess up
with AMs using lower values than that.
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2019-10-21 05:11:20 | Re: dropdb --force |
Previous Message | Tom Lane | 2019-10-21 05:01:50 | Re: Missing error_context_stack = NULL in AutoVacWorkerMain() |