From 898a792eb8283e31efc0b6fcbc03bbcd5f7df667 Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Wed, 22 Feb 2017 03:36:02 +0900 Subject: [PATCH] Fix connection leak in DROP SUBSCRIPTION command. Previously the command forgot to close the connection to the publisher when it failed to drop the replication slot. --- src/backend/commands/subscriptioncmds.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index ab21e64b48..c9e7c08c8c 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -546,10 +546,14 @@ DropSubscription(DropSubscriptionStmt *stmt) errdetail("The error was: %s", err))); if (!walrcv_command(wrconn, cmd.data, &err)) + { + /* Close the connection in case of failure */ + walrcv_disconnect(wrconn); ereport(ERROR, (errmsg("could not drop the replication slot \"%s\" on publisher", slotname), errdetail("The error was: %s", err))); + } else ereport(NOTICE, (errmsg("dropped replication slot \"%s\" on publisher",