Fix unstable test in 040_pg_createsubscriber.
authorAmit Kapila <akapila@postgresql.org>
Fri, 12 Jul 2024 03:59:21 +0000 (09:29 +0530)
committerAmit Kapila <akapila@postgresql.org>
Fri, 12 Jul 2024 03:59:21 +0000 (09:29 +0530)
commit9fd8b331dfe151b7c833e2c8fa17ce753830b891
tree9ed7660a0993ef4ccb84348788475ee9fb3c8257
parent22d946b0f86f9c13f869bb8b75444a77a20134d8
Fix unstable test in 040_pg_createsubscriber.

The slot synchronization failed because the local slot's (created during
slot synchronization) catalog_xmin on standby is ahead of remote slot.
This happens because the INSERT before slot synchronization results in the
generation of a new xid that could be replicated to the standby. Now
before the xmin of the physical slot on the primary catches up via
hot_standby_feedback, the test has created a logical slot that got some
prior value of catalog_xmin.

To fix this we could try to ensure that the physical slot's catalog_xmin
is caught up to latest value before creating a logical slot but we took a
simpler path to move the INSERT after synchronizing the logical slot.

Reported-by: Alexander Lakhin as per buildfarm
Diagnosed-by: Amit Kapila, Hou Zhijie, Alexander Lakhin
Author: Hou Zhijie
Backpatch-through: 17
Discussion: https://postgr.es/m/bde6ac67-69cc-c104-5ab6-dd4f5deadf24@gmail.com
src/bin/pg_basebackup/t/040_pg_createsubscriber.pl