On Wed, Apr 1, 2026 at 1:44 PM Nisha Moond <[email protected]> wrote: > > The patch needed rebasing after recent changes in pg_createsubscriber > under commit d6628a5. > Please find the rebased patch (v3) attached. >
Needed a rebase after recent commits. Attached the rebased v4 patch. -- Thanks, Nisha
From 4970f2f6ad6206f74f8cd8059c91044cb01f3ce5 Mon Sep 17 00:00:00 2001 From: Nisha Moond <[email protected]> Date: Sun, 10 May 2026 09:41:50 +0530 Subject: [PATCH v4] Fix incorrect cleanup flag handling in pg_createsubscriber The flags made_publication and made_replslot track whether the tool created a publication or replication slot on the primary. These are used during error handling to clean up internal objects on primary. Previously, these flags were incorrectly reset to false when failures occurred while dropping objects(publications/replication slots) on the subscriber. As a result, upon a failure, the cleanup_objects_atexit() skipped cleanup of these objects on the primary. This patch removes the resetting of these cleanup flags during drop_replication_slot and drop_publication, ensuring proper cleanup of primary objects before exit on failure. --- src/bin/pg_basebackup/pg_createsubscriber.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/bin/pg_basebackup/pg_createsubscriber.c b/src/bin/pg_basebackup/pg_createsubscriber.c index 809626f4af3..feb7590812e 100644 --- a/src/bin/pg_basebackup/pg_createsubscriber.c +++ b/src/bin/pg_basebackup/pg_createsubscriber.c @@ -1624,7 +1624,6 @@ drop_replication_slot(PGconn *conn, struct LogicalRepInfo *dbinfo, { pg_log_error("could not drop replication slot \"%s\" in database \"%s\": %s", slot_name, dbinfo->dbname, PQresultErrorMessage(res)); - dbinfo->made_replslot = false; /* don't try again. */ } PQclear(res); @@ -1897,7 +1896,6 @@ drop_publication(PGconn *conn, const char *pubname, const char *dbname, { pg_log_error("could not drop publication \"%s\" in database \"%s\": %s", pubname, dbname, PQresultErrorMessage(res)); - *made_publication = false; /* don't try again. */ /* * Don't disconnect and exit here. This routine is used by primary -- 2.50.1 (Apple Git-155)
