Fix logical decoding test to correctly check slot removal on standby.
authorFujii Masao <[email protected]>
Fri, 4 Apr 2025 04:32:46 +0000 (13:32 +0900)
committerFujii Masao <[email protected]>
Fri, 4 Apr 2025 04:33:52 +0000 (13:33 +0900)
The regression test for logical decoding verifies whether a logical slot
is correctly dropped on a standby when its associated database is dropped.
However, the test mistakenly retrieved slot information from the primary
instead of the standby, causing incorrect behavior.

This commit fixes the issue by ensuring the test correctly checks the slot
on the standby.

Back-patch to all supported versions.

Author: Hayato Kuroda <[email protected]>
Reviewed-by: Fujii Masao <[email protected]>
Discussion: https://postgr.es/m/1fdfd020-a509-403c-bd8f-a04664aba148@oss.nttdata.com
Backpatch-through: 13

src/test/recovery/t/010_logical_decoding_timelines.pl

index 7685b98589bc1d7b54f662780ab30e3597c29999..40f4fb0d91821d7a0259b9d47dd052983df7ef76 100644 (file)
@@ -94,7 +94,7 @@ is( $node_replica->safe_psql(
        'postgres', q[SELECT 1 FROM pg_database WHERE datname = 'dropme']),
    '',
    'dropped DB dropme on standby');
-is($node_primary->slot('dropme_slot')->{'plugin'},
+is($node_replica->slot('dropme_slot')->{'plugin'},
    '', 'logical slot was actually dropped on standby');
 
 # Back to testing failover...