Fix test race between primary XLOG_RUNNING_XACTS and standby logical slot.
authorNoah Misch
Mon, 19 Feb 2024 20:52:28 +0000 (12:52 -0800)
committerNoah Misch
Mon, 19 Feb 2024 20:52:28 +0000 (12:52 -0800)
commit0e162810df7657bac24ba4657460a87104523fc6
tree02e301cce7e513926a6d78fe2c2c769ffc7a9e93
parent4791f87f34bd3a055db34519d6f878afeedd2548
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[email protected]
src/test/perl/PostgreSQL/Test/Cluster.pm
src/test/recovery/t/035_standby_logical_decoding.pl