From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: markus.wanner@enterprisedb.com
Cc: robertmhaas@gmail.com
Cc: michael@paquier.xyz
Cc: tgl@sss.pgh.pa.us
Cc: pgsql-hackers@postgresql.org
Subject: Re: API stability [was: pgsql: Fix possible recovery trouble if TRUNCATE overlaps a checkpoint.]
Date: Tue, 12 Apr 2022 19:54:58 +0900 (JST)
Message-ID: <20220412.195458.2066037926728685947.horikyota.ntt@gmail.com> (raw)
In-Reply-To: <dcf25653867a82c96d8da9e43d1d7c2bc41cab09.camel@enterprisedb.com>
References: <CA+TgmobNoa83BmkmLaQDVn=HVs62zsHk+9tZCsxF17a=fV3RVQ@mail.gmail.com>
<CA+TgmoZfJVkULPpNYN3a6i1RfBrijjhrF0=NZWHbbfqaQmnzpQ@mail.gmail.com>
<dcf25653867a82c96d8da9e43d1d7c2bc41cab09.camel@enterprisedb.com>
(My mailer has been fixed.)
At Mon, 11 Apr 2022 21:45:59 +0200, Markus Wanner <markus.wanner@enterprisedb.com> wrote in
> On Mon, 2022-04-11 at 15:21 -0400, Robert Haas wrote:
> > ... before v13, the commit in question actually
> > changed the size of PGXACT, which is really quite bad -- it needs to
> > be 12 bytes for performance reasons. And there's no spare bytes
> > available, so I think we should follow one of the suggestions that he
> > had over in that email thread, and put delayChkptEnd in PGPROC even
> > though delayChkpt is in PGXACT.
>
> This makes sense to me. Kudos to Kyotaro for considering this.
>
> At first read, this sounded like a trade-off between compatibility and
> performance for PG 12 and older. But I realize leaving delayChkpt in
> PGXACT and adding just delayChkptEnd to PGPROC is compatible and leaves
> PGXACT at a size of 12 bytes. So this sounds like a good approach to
> me.
Thanks!
So, I created the patches for back-patching from 10 to 14. (With
fixed a silly bug of the v1-pg14 that HaveVirtualXIDsDelayingChkpt and
HaveVirtualXIDsDelayingChkptEnd are inverted..)
They revert delayChkpt-related changes made by the patch and add
delayChkptEnd stuff. I compared among every pair of the patches for
neighbouring versions, to make sure not making the same change in
different way and they have the same set of hunks.
This version takes the way sharing the common static function
(*ChkptGuts) between the functions *Chkpt() and *ChkptEnd().
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center
Attachments:
v2-0001-Fix-ABI-API-break_14.patch (text/x-patch, 0B) download
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-committers@postgresql.org
Cc: horikyota.ntt@gmail.com, markus.wanner@enterprisedb.com, robertmhaas@gmail.com, michael@paquier.xyz, tgl@sss.pgh.pa.us, pgsql-hackers@postgresql.org
Subject: Re: API stability [was: pgsql: Fix possible recovery trouble if TRUNCATE overlaps a checkpoint.]
In-Reply-To: <20220412.195458.2066037926728685947.horikyota.ntt@gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox