pgsql: Rethink the delay-checkpoint-end mechanism in the back-branches.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Rethink the delay-checkpoint-end mechanism in the back-branches.
Date: 2022-04-14 15:11:19
Message-ID: E1nf17v-000Uq9-Up@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Rethink the delay-checkpoint-end mechanism in the back-branches.

The back-patch of commit bbace5697df12398e87ffd9879171c39d27f5b33 had
the unfortunate effect of changing the layout of PGPROC in the
back-branches, which could break extensions. This happened because it
changed the delayChkpt from type bool to type int. So, change it back,
and add a new bool delayChkptEnd field instead. The new field should
fall within what used to be padding space within the struct, and so
hopefully won't cause any extensions to break.

Per report from Markus Wanner and discussion with Tom Lane and others.

Patch originally by me, somewhat revised by Markus Wanner per a
suggestion from Michael Paquier. A very similar patch was developed
by Kyotaro Horiguchi, but I failed to see the email in which that was
posted before writing one of my own.

Discussion: http://postgr.es/m/CA+Tgmoao-kUD9c5nG5sub3F7tbo39+cdr8jKaOVEs_1aBWcJ3Q@mail.gmail.com
Discussion: http://postgr.es/m/20220406.164521.17171257901083417.horikyota.ntt@gmail.com

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/6270ee4450404225daad44b53d4a067026f97162

Modified Files
--------------
src/backend/access/transam/multixact.c | 6 +--
src/backend/access/transam/twophase.c | 15 +++---
src/backend/access/transam/xact.c | 6 +--
src/backend/access/transam/xlog.c | 10 ++--
src/backend/access/transam/xloginsert.c | 2 +-
src/backend/catalog/storage.c | 6 +--
src/backend/storage/buffer/bufmgr.c | 6 +--
src/backend/storage/ipc/procarray.c | 96 +++++++++++++++++++++++++--------
src/include/storage/proc.h | 40 ++++----------
src/include/storage/procarray.h | 7 ++-
10 files changed, 114 insertions(+), 80 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2022-04-14 15:13:01 Re: API stability [was: pgsql: Fix possible recovery trouble if TRUNCATE overlaps a checkpoint.]
Previous Message Andrew Dunstan 2022-04-14 14:27:27 pgsql: Improve a couple of sql/json error messages