Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)

From: Alexander Lakhin <exclusion(at)gmail(dot)com>
To: Melanie Plageman <melanieplageman(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>
Cc: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, Kirill Reshke <reshkekirill(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Xuneng Zhou <xunengzhou(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access)
Date: 2026-01-29 05:00:00
Message-ID: 2b09fba6-6b71-497a-96ef-a6947fcc39f6@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello Melanie,

29.01.2026 01:16, Melanie Plageman wrote:
> Thanks for the review!
> I pushed v33 0001-0003 after incorporating your feedback.

The buildfarm animal scorpion has detected an instability of the addition
to pg_visibility from 21796c267 [1]:

80/82 postgresql:pg_visibility-running / pg_visibility-running/regress             ERROR             7.23s exit status 1

diff -U3 /home/bf/bf-build/scorpion/HEAD/pgsql/contrib/pg_visibility/expected/pg_visibility.out
/home/bf/bf-build/scorpion/HEAD/pgsql.build/testrun/pg_visibility-running/regress/results/pg_visibility.out
--- /home/bf/bf-build/scorpion/HEAD/pgsql/contrib/pg_visibility/expected/pg_visibility.out 2026-01-26 22:07:12.923378464
+0100
+++ /home/bf/bf-build/scorpion/HEAD/pgsql.build/testrun/pg_visibility-running/regress/results/pg_visibility.out
2026-01-28 20:15:13.802517085 +0100
@@ -213,7 +213,7 @@
 select pg_visibility_map_summary('test_vac_unmodified_heap');
  pg_visibility_map_summary
 ---------------------------
- (1,1)
+ (0,0)
 (1 row)

 -- the checkpoint cleans the buffer dirtied by freezing the sole tuple
@@ -237,7 +237,7 @@
         FROM page_header(get_raw_page('test_vac_unmodified_heap', 0));
  ?column?
 ----------
- t
+ f
 (1 row)

 -- vacuum sets the VM

I've managed to reproduce it locally with the attached and:
echo "autovacuum_naptime = 1" > /tmp/temp.config
TEMP_CONFIG=/tmp/temp.config make -s check -C contrib/pg_visibility/
...
ok 85        - pg_visibility                              30 ms
not ok 86    - pg_visibility                             165 ms
ok 87        - pg_visibility                              36 ms
...
# 1 of 100 tests failed.

Could you please look at this?

Probably you'll find [2] helpful.

[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=scorpion&dt=2026-01-28%2019%3A07%3A32
[2] https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1c64d2fcb

Best regards,
Alexander

Attachment Content-Type Size
debug-pg_visibility.patch text/x-patch 1.6 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Previous Message David G. Johnston 2026-01-29 04:58:26 Re: pg_plan_advice