From a3f17b9c315512e9c116dbc243056aad8b372e18 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut <peter_e@gmx.net> Date: Tue, 25 Apr 2017 14:40:33 -0400 Subject: [PATCH] Wake up launcher when enabling a subscription Otherwise one would have to wait up to DEFAULT_NAPTIME_PER_CYCLE until the subscription worker is considered for starting. There is a small race condition: If one enables a subscription right after disabling it, the launcher might not have registered the stopping when receiving the wakeup signal for the re-enabling. The start will then not happen right away but after the full cycle time. Author: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp> --- src/backend/commands/subscriptioncmds.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index c29a57ed52d..6a404bbe1e3 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -644,6 +644,9 @@ AlterSubscription(AlterSubscriptionStmt *stmt) BoolGetDatum(enabled); replaces[Anum_pg_subscription_subenabled - 1] = true; + if (enabled) + ApplyLauncherWakeupAtCommit(); + update_tuple = true; break; } -- GitLab