Re: Fix of fake unlogged LSN initialization
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>
Cc: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2019-10-21T05:03:47Z
Lists: pgsql-hackers
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. -- Michael
Commits
-
Fix initialization of fake LSN for unlogged relations
- 9f0172bba750 12.1 landed
- 51970fa8df9b 13.0 landed