Hello. I found dubious behavior while playing with logical
replication.

When we disable a subscription, replication worker immediately stops.

=# ALTER SUBSCRIPTION s1 DISABLE;

On the other hand even if we enable a subscription, worker
doesn't start immediately. It takes 3 minutes in the worst
case. (DEFAULT_NAPTIME_PER_CYCLE)

The attached patch wakes up launcher when a subscription is
enabled. This fails when a subscription is enabled immedaitely
after disabling but it won't be a matter.

regards,

-- 
Kyotaro Horiguchi
NTT Open Source Software Center
diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c
index 5bf8d93..63550f8 100644
--- a/src/backend/commands/subscriptioncmds.c
+++ b/src/backend/commands/subscriptioncmds.c
@@ -608,6 +608,9 @@ AlterSubscription(AlterSubscriptionStmt *stmt)
 					BoolGetDatum(enabled);
 				replaces[Anum_pg_subscription_subenabled - 1] = true;
 
+				if (enabled)
+					ApplyLauncherWakeupAtCommit();
+
 				update_tuple = true;
 				break;
 			}
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to