Re: Testing autovacuum wraparound (including failsafe)
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Ian Lawrence Barwick <barwick@gmail.com>,
Masahiko Sawada <sawada.mshk@gmail.com>, Andres Freund <andres@anarazel.de>,
Anastasia Lubennikova <lubennikovaav@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-03-08T05:21:00Z
Lists: pgsql-hackers
On Fri, Mar 3, 2023 at 3:34 AM Heikki Linnakangas <hlinnaka@iki.fi> wrote: > I took a different approach to consuming the XIDs. Instead of setting > nextXID directly, bypassing GetNewTransactionId(), this patch introduces > a helper function to call GetNewTransactionId() repeatedly. But because > that's slow, it does include a shortcut to skip over "uninteresting" > XIDs. Whenever nextXid is close to an SLRU page boundary or XID > wraparound, it calls GetNewTransactionId(), and otherwise it bumps up > nextXid close to the next "interesting" value. That's still a lot slower > than just setting nextXid, but exercises the code more realistically. Surely your tap test should be using single user mode? Perhaps you missed the obnoxious HINT, that's part of the WARNING that the test parses? ;-) This is a very useful patch. I certainly don't want to make life harder by (say) connecting it to the single user mode problem. But...the single user mode thing really needs to go away. It's just terrible advice, and actively harms users. -- Peter Geoghegan
Commits
-
Fix meson installation of xid_wraparound test.
- 1aa67a5ea687 17.0 landed
-
Add tests for XID wraparound.
- e255b646a16b 17.0 landed
-
Add option to specify timeout seconds to BackgroundPsql.pm.
- 334f512f45eb 17.0 landed
-
Fix wrong description of BackgroundPsql's timeout.
- 2d758dca1b31 16.2 landed
- 5abff2aaa1ab 17.0 landed
-
Refactor background psql TAP functions
- 664d757531e1 16.0 cited
-
Consider triggering VACUUM failsafe during scan.
- c242baa4a831 14.0 landed
-
Fix autovacuum log output heap truncation issue.
- fbe9b80610fe 14.0 landed