From: Fujii Masao Date: Fri, 3 Feb 2017 18:18:13 +0000 (+0900) Subject: Be sure to release LogicalRepLauncherLock in DROP SUBSCRIPTION command. X-Git-Tag: REL_10_BETA1~952 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=39b8cc991fe31ee8df8b0fee467bbd9800fcc1c5;p=postgresql Be sure to release LogicalRepLauncherLock in DROP SUBSCRIPTION command. Previously DROP SUBSCRIPTION command forgot to release the lock at all. Original patches by Kyotaro Horiguchi and Michael Paquier, but I didn't use them. Discussion: http://postgr.es/m/20170201.173623.66249355.horiguchi.kyotaro@lab.ntt.co.jp --- diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index 3b70807565..4353e14e1b 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -514,6 +514,8 @@ DropSubscription(DropSubscriptionStmt *stmt) /* Kill the apply worker so that the slot becomes accessible. */ logicalrep_worker_stop(subid); + LWLockRelease(LogicalRepLauncherLock); + /* Remove the origin tracking if exists. */ snprintf(originname, sizeof(originname), "pg_%u", subid); originid = replorigin_by_name(originname, true);