| From: | Daniel Gustafsson <dgustafsson(at)postgresql(dot)org> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Fix invalid checksum state transition in checkpoints |
| Date: | 2026-04-30 11:46:34 |
| Message-ID: | E1wIPqk-003SOa-0q@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Fix invalid checksum state transition in checkpoints
Commit 78e950cb8 added checksum state handling to all XLOG_CHECKPOINT
records which caused unnecessary state transitions and emission of
procsignal barriers. Remove as only the _REDO record need to handle
checksum state. Barrier emission is also consistently made after
controlfile updates to avoid race conditions.
Additionally, interrupts are held between calling ProcSignalInit and
InitLocalDataChecksumState to remove a window where otherwise invalid
state transitions can happen.
Also remove a pointless assertion on Controlfile which will never hit.
Author: Tomas Vondra <tomas(at)vondra(dot)me>
Author: Daniel Gustafsson <daniel(at)yesql(dot)se>
Reviewed-by: Ayush Tiwari <ayushtiwari(dot)slg01(at)gmail(dot)com>
Reviewed-by: SATYANARAYANA NARLAPURAM <satyanarlapuram(at)gmail(dot)com>
Discussion: https://postgr.es/m/9197F930-DDEB-4CAC-82A2-16FEC715CCE8@yesql.se
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/25b922ec5825e6938c28cdae718aa70b8f11fd50
Modified Files
--------------
src/backend/access/transam/xlog.c | 107 +++++++++-------------------
src/backend/postmaster/auxprocess.c | 10 +++
src/backend/postmaster/datachecksum_state.c | 8 +--
src/backend/utils/init/postinit.c | 10 +++
4 files changed, 56 insertions(+), 79 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Daniel Gustafsson | 2026-04-30 11:46:35 | pgsql: Fix data_checksum GUC show_hook |
| Previous Message | Amit Kapila | 2026-04-30 11:11:34 | pgsql: Fix double table_close of sequence_rel in copy_sequences(). |