Re: FreezeLimit underflows in pg14 and 15 causing incorrect behavior in heap_prepare_freeze_tuple - Mailing list pgsql-hackers

From Peter Geoghegan
Subject Re: FreezeLimit underflows in pg14 and 15 causing incorrect behavior in heap_prepare_freeze_tuple
Date
Msg-id CAH2-Wz=Otn00RktbpSE73R0-AKZwzU0ASSh7wwuSHK4JDbJE3w@mail.gmail.com
Whole thread Raw
In response to Re: FreezeLimit underflows in pg14 and 15 causing incorrect behavior in heap_prepare_freeze_tuple  (Melanie Plageman <melanieplageman@gmail.com>)
Responses Re: FreezeLimit underflows in pg14 and 15 causing incorrect behavior in heap_prepare_freeze_tuple
List pgsql-hackers
On Sat, Jun 22, 2024 at 10:43 AM Melanie Plageman
<melanieplageman@gmail.com> wrote:
> Hmm. So perhaps this subtraction results in the desired behavior for
> freeze limit -- but by using FreezeLimit as the cutoff_xid for
> heap_prepare_freeze_tuple(), you can still end up considering freezing
> tuples with xmax older than OldestXmin.

Using a FreezeLimit > OldestXmin is just wrong. I don't think that
that even needs to be discussed.

> This results in erroring out with "cannot freeze committed xmax" on 16
> and master but not erroring out like this in 14 and 15 for the same
> tuple and cutoff values.

I don't follow. I thought that 16 and master don't have this
particular problem? Later versions don't use safeLimit as FreezeLimit
like this.

--
Peter Geoghegan



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: New standby_slot_names GUC in PG 17
Next
From: Alexander Lakhin
Date:
Subject: Re: [EXTERNAL] Re: Add non-blocking version of PQcancel