Re: Vacuum ERRORs out considering freezing dead tuples from before OldestXmin
Melanie Plageman <melanieplageman@gmail.com>
From: Melanie Plageman <melanieplageman@gmail.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>,
Pg Hackers <pgsql-hackers@postgresql.org>, Andres Freund <andres@anarazel.de>, Noah Misch <noah@leadboat.com>
Date: 2024-07-17T16:07:08Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Test that vacuum removes tuples older than OldestXmin
- 2c0bc4765741 17.6 landed
- 303ba0573ce6 18.0 landed
- 80c34692e8e6 17.0 landed
- aa607980aee0 18.0 landed
-
Lower minimum maintenance_work_mem to 64kB
- 2eda3df9ad53 17.0 landed
- bbf668d66fbf 18.0 landed
-
Add accidentally omitted test to meson build file
- 9d198f4d3e3b 16.4 landed
-
Use DELETE instead of UPDATE to speed up vacuum test
- 924a08b76f5d 14.13 landed
- 9744fe24118b 15.8 landed
- 571e0ee40ebd 16.4 landed
-
Revert "Test that vacuum removes tuples older than OldestXmin"
- efcbb76efe40 18.0 landed
- 1a3e90948b50 17.0 landed
-
Ensure vacuum removes all visibly dead tuples older than OldestXmin
- fd4f12df5e46 17.0 landed
- 83c39a1f7f3f 18.0 landed
On Wed, Jul 17, 2024 at 11:07 AM Melanie Plageman <melanieplageman@gmail.com> wrote: > > On Mon, Jul 15, 2024 at 6:02 PM Peter Geoghegan <pg@bowt.ie> wrote: > > > > I think that there is some chance that this test will break the build > > farm in whatever way, since there is a long history of VACUUM not > > quite behaving as expected with these sorts of tests. I think that you > > should commit the test case separately, first thing in the morning, > > and then keep an eye on the build farm for the rest of the day. I > > don't think that it's sensible to bend over backwards, just to avoid > > breaking the build farm in this way. > > Sounds good. Hmm. So, I was just running all the versions through CI again, and I noticed that the test failed on master on CI on Linux - Debian Bookworm with Meson. (This passes locally for me and has passed on previous CI runs). [15:43:41.547] stderr: [15:43:41.547] # poll_query_until timed out executing this query: [15:43:41.547] # [15:43:41.547] # SELECT index_vacuum_count > 0 [15:43:41.547] # FROM pg_stat_progress_vacuum [15:43:41.547] # WHERE datname='test_db' AND relid::regclass = 'vac_horizon_floor_table'::regclass; [15:43:41.547] # [15:43:41.547] # expecting this output: [15:43:41.547] # t [15:43:41.547] # last actual query output: [15:43:41.547] # f We didn't end up doing two index vacuum passes. Because it doesn't repro locally for me, I can only assume that the conditions for forcing two index vacuuming passes in master just weren't met in this case. I'm unsurprised, as it is much harder since 17 to force two passes of index vacuuming. It seems like this might be as unstable as I feared. I could add more dead data. Or, I could just commit the test to the back branches before 17. What do you think? - Melanie