Add recovery TAP test for race condition with slot invalidations
authorMichael Paquier <michael@paquier.xyz>
Wed, 6 Mar 2024 05:38:25 +0000 (14:38 +0900)
committerMichael Paquier <michael@paquier.xyz>
Wed, 6 Mar 2024 05:39:40 +0000 (14:39 +0900)
commit08a52ab151ca599406883768cdc08b7929e516de
tree095d96a2772afb6c0a509233ca9b3a416c90dedd
parentd93627bcbe5001750e7611f0e637200e2d81dcff
Add recovery TAP test for race condition with slot invalidations

This commit adds a recovery test to provide coverage for the bug fixed
in 818fefd8fd, using an injection point to wait just after the process
of an active slot is killed.  The trick is to give enough time for
effective_xmin and effective_catalog_xmin to advance so as the slot
invalidation robustness can be checked since the active process is
killed without holding its slot's mutex for a short time.

Author: Bertrand Drouvot
Discussion: https://postgr.es/m/ZdyZya4YrNapWKqz@ip-10-97-1-34.eu-west-3.compute.internal
src/backend/replication/slot.c
src/test/recovery/t/035_standby_logical_decoding.pl