Re: Add checkpoint and redo LSN to LogCheckpointEnd log message
Fujii Masao <masao.fujii@oss.nttdata.com>
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: bharath.rupireddyforpostgres@gmail.com, nathandbossart@gmail.com,
sfrost@snowman.net, bossartn@amazon.com, rjuju123@gmail.com,
michael@paquier.xyz, pgsql-hackers@lists.postgresql.org
Date: 2022-02-21T16:59:45Z
Lists: pgsql-hackers
On 2022/02/14 14:40, Kyotaro Horiguchi wrote: > For backbranches, the attached for pg14 does part of the full patch. Thanks for updating the patch! > Of the following, I think we should do (a) and (b) to make future > backpatchings easier. > > a) Use RedoRecPtr and PriorRedoPtr after they are assigned. > > b) Move assignment to PriorRedoPtr into the ControlFileLock section. I failed to understand how (a) and (b) can make the backpatching easier. How easy to backpatch seems the same whether we apply (a) and (b) or not... > c) Skip udpate of minRecoveryPoint only when the checkpoint gets old. Yes. > d) Skip call to UpdateCheckPointDistanceEstimate() when RedoRecPtr <= > PriorRedoPtr. But "RedoRecPtr <= PriorRedoPtr" will never happen, will it? Because a restartpoint is skipped at the beginning of CreateRestartPoint() in that case. If this understanding is right, the check of "RedoRecPtr <= PriorRedoPtr" is not necessary before calling UpdateCheckPointDistanceEstimate(). + ControlFile->minRecoveryPoint = InvalidXLogRecPtr; + ControlFile->minRecoveryPointTLI = 0; Don't we need to update LocalMinRecoveryPoint and LocalMinRecoveryPointTLI after this? Maybe it's not necessary, but ISTM that it's safer and better to always update them whether the state is DB_IN_ARCHIVE_RECOVERY or not. if (flags & CHECKPOINT_IS_SHUTDOWN) ControlFile->state = DB_SHUTDOWNED_IN_RECOVERY; Same as above. IMO it's safer and better to always update the state (whether the state is DB_IN_ARCHIVE_RECOVERY or not) if CHECKPOINT_IS_SHUTDOWN flag is passed. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION
Commits
-
Add checkpoint and REDO LSN to log_checkpoints message.
- 62c46eee2279 16.0 landed