Fix test race between primary XLOG_RUNNING_XACTS and standby logical slot.
authorNoah Misch <noah@leadboat.com>
Mon, 19 Feb 2024 20:52:28 +0000 (12:52 -0800)
committerNoah Misch <noah@leadboat.com>
Mon, 19 Feb 2024 20:52:49 +0000 (12:52 -0800)
commitc59a97313ba34aeb4b1670307c0228fb94694adb
tree41b4d3a43962f066391d2807110c14ebbf2fa50a
parentf024746484b966f916e6d8e1d0bd39de51aad2e1
Fix test race between primary XLOG_RUNNING_XACTS and standby logical slot.

Before the previous commit, the test could hang until
LOG_SNAPSHOT_INTERVAL_MS (15s), until checkpoint_timeout (300s), or
indefinitely.  An indefinite hang was awfully improbable.  It entailed
the test reaching checkpoint_timeout before the
DecodingContextFindStartpoint() of a CREATE SUBSCRIPTION, yet after the
preceding WAL record.  Back-patch to v16, which introduced the test.

Bertrand Drouvot, reported by Noah Misch.

Discussion: https://postgr.es/m/20240211010227.a2.nmisch@google.com
src/test/perl/PostgreSQL/Test/Cluster.pm
src/test/recovery/t/035_standby_logical_decoding.pl