public inbox for [email protected]  
help / color / mirror / Atom feed
From: Melanie Plageman <[email protected]>
To: Kirill Reshke <[email protected]>
Cc: Alexander Lakhin <[email protected]>
Cc: Andres Freund <[email protected]>
Cc: Andrey Borodin <[email protected]>
Cc: Chao Li <[email protected]>
Cc: Xuneng Zhou <[email protected]>
Cc: Robert Haas <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Cc: Heikki Linnakangas <[email protected]>
Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)
Date: Thu, 29 Jan 2026 10:16:26 -0500
Message-ID: <CAAKRu_ZnJiLaQD_pcTN=KGPHt3m-XirR+=Jj3OqURghPmu01yg@mail.gmail.com> (raw)
In-Reply-To: <CALdSSPjUUfdb5tL0hdH9m3PzRePDSFDBV-jfAj6BdzGE-8SBtw@mail.gmail.com>
References: <CABPTF7X1X810eT7hjRz9M69sjMv1Vui5gXQEGhqYXmkmywhHCQ@mail.gmail.com>
	<CAAKRu_ZcK+ez71W7j+QzMo0gSafTsbGA3TU-fVSptw7yh41BEQ@mail.gmail.com>
	<[email protected]>
	<CAAKRu_ZCjHoRPfQ8AbMrFY8TOMCPAvZ0_m9SX7yg0edfTk45-g@mail.gmail.com>
	<[email protected]>
	<CAAKRu_a04jbDACwzRYwzDND31aPyf7Yvz9TAZrTr=+F5bK1aVA@mail.gmail.com>
	<CALdSSPjcv25jmXm29X-MRWZBae6+HwcWfVH1PE8NfD=EMTnkAg@mail.gmail.com>
	<CAAKRu_bwtBEzDwemyim1r6yYonw7FTyFr1HXG8vywCe-MdbPBQ@mail.gmail.com>
	<[email protected]>
	<CAAKRu_YQd=2KvomM+RHcpeDKj0bq+peJ=3W-fip+pkvzA-Jq9w@mail.gmail.com>
	<7ib3sa55sapwjlaz4sijbiq7iezna27kjvvvar4dpgkmadml6t@gfpkkwmdnepx>
	<CAAKRu_bs+gZ83QDacmBxunPvCGnXJ05hxP2BDPJ3BGwdbGRXzg@mail.gmail.com>
	<[email protected]>
	<CALdSSPjUUfdb5tL0hdH9m3PzRePDSFDBV-jfAj6BdzGE-8SBtw@mail.gmail.com>

On Thu, Jan 29, 2026 at 8:39 AM Kirill Reshke <[email protected]> wrote:
>
> Thanks Alexander!
> This is a good and detailed report, I was able to reproduce this.

Thanks to both of you for looking into it!

> I have added some logs to my copy of postgres with your patch and I
> think problem causing this test to fail is this sequence:
>
> 1) Autovacuum starts, does its deeds, and acquiring xid = 118518

So, in this scenario, is the issue that autovacuum runs before vacuum
freeze? If so, we can change the table DDL to:

create table test_vac_unmodified_heap(a int) with (autovacuum_enabled = false);

which would prevent the autovacuum from running.

Unless there is some other way for one of the other tests to hold
OldestXmin back to before the xid of the insert. But I don't see how.

> 2) insert into test_vac_unmodified_heap values (1); executes and
> commits with xid = 118519 (from my log)
> 3) vacuum freeze starts and computes cutoff xid = 118518, because
> oldest xmin is 118518 from (1)
>
> *and we cannot freeze tuple*

- Melanie






view thread (17+ messages)  latest in thread

reply

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: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)
  In-Reply-To: <CAAKRu_ZnJiLaQD_pcTN=KGPHt3m-XirR+=Jj3OqURghPmu01yg@mail.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 agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox