Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae

From: Noah Misch <noah(at)leadboat(dot)com>
To: Melanie Plageman <melanieplageman(at)gmail(dot)com>
Cc: Bowen Shi <zxwsbg12138(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Robert Haas <robertmhaas(at)gmail(dot)com>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, Peter Geoghegan <pg(at)bowt(dot)ie>, Alexander Lakhin <exclusion(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae
Date: 2024-06-25 19:37:40
Message-ID: 20240625193740.dc.nmisch@google.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, Jun 20, 2024 at 11:49:50AM -0400, Melanie Plageman wrote:
> On Tue, Jun 18, 2024 at 6:51 PM Melanie Plageman <melanieplageman(at)gmail(dot)com> wrote:
> > I ended up manually backporting the logic from 1ccc1e05ae as opposed
> > to cherry-picking because it relied on a struct introduced in
> > 4e9fc3a9762065.

> Attached is the backport and repros for 15 and 16.

> When this happends, a tuple with an xmax older than OldestXmin but newer

s/happends/happens/

> @@ -700,7 +707,7 @@ heap_prune_chain(Buffer buffer, OffsetNumber rootoffnum, PruneState *prstate)
> break;
>
> Assert(ItemIdIsNormal(lp));
> - Assert(prstate->htsv[offnum] != -1);
> + Assert(htsv[offnum] != -1);

The master patch removed this assert instead. Is the back branch non-removal
deliberate? If so, the patch is ready. I also confirm your results from your
repro recipe; thanks for including that.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Haifang Wang (Centific Technologies Inc) 2024-06-25 22:24:21 RE: [EXTERNAL] Re: Windows Application Issues | PostgreSQL | REF # 48475607
Previous Message Richard Guo 2024-06-25 14:45:59 Re: BUG #18522: Wrong results with Merge Right Anti Join, inconsistent with Merge Anti Join