Re: Fix of fake unlogged LSN initialization
От | Simon Riggs |
---|---|
Тема | Re: Fix of fake unlogged LSN initialization |
Дата | |
Msg-id | CANP8+jJtSLud7gfwtPPPCxTwu8BsHg7OUBm6h7wYbZBVmH==xg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Fix of fake unlogged LSN initialization (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: Fix of fake unlogged LSN initialization
RE: Fix of fake unlogged LSN initialization |
Список | pgsql-hackers |
On Mon, 21 Oct 2019 at 06:03, Michael Paquier <michael@paquier.xyz> wrote:
On Sat, Oct 19, 2019 at 05:03:00AM +0000, tsunakawa.takay@fujitsu.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.
I wonder why is that value 1000, rather than an aligned value or a whole WAL page?
В списке pgsql-hackers по дате отправления: