Re: Test slots invalidations in 035_standby_logical_decoding.pl only if dead rows are removed
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, "Yu Shi (Fujitsu)" <shiy.fnst@fujitsu.com>, Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>, Andres Freund <andres@anarazel.de>, Thomas Munro <thomas.munro@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-01-11T22:01:55Z
Lists: pgsql-hackers
On Thu, Jan 11, 2024 at 11:00:01PM +0300, Alexander Lakhin wrote: > Bertrand, I've relaunched tests in the same slowed down VM with both > patches applied (but with no other modifications) and got a failure > with pg_class, similar to what we had seen before: > 9 # Failed test 'activeslot slot invalidation is logged with vacuum on pg_class' > 9 # at t/035_standby_logical_decoding.pl line 230. > > Please look at the logs attached (I see there Standby/RUNNING_XACTS near > 'invalidating obsolete replication slot "row_removal_inactiveslot"'). Standby/RUNNING_XACTS is exactly why 039_end_of_wal.pl uses wal_level = minimal, because these lead to unpredictible records inserted, impacting the reliability of the tests. We cannot do that here, obviously. That may be a long shot, but could it be possible to tweak the test with a retry logic, retrying things if such a standby snapshot is found because we know that the invalidation is not going to work anyway? -- Michael
Commits
-
Improve stability of recovery test 035_standby_logical_decoding
- cae25d110e08 16.2 landed
- 46d8587b5041 17.0 landed