Improve messaging during logical replication worker startup
In case the subscription is removed before the worker is fully started, give a specific error message instead of the generic "cache lookup" error. Author: Petr Jelinek <petr.jelinek@2ndquadrant.com> Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
This commit is contained in:
parent
2cd6520e78
commit
c25304a945
@ -1553,14 +1553,20 @@ ApplyWorkerMain(Datum main_arg)
|
||||
ALLOCSET_DEFAULT_SIZES);
|
||||
StartTransactionCommand();
|
||||
oldctx = MemoryContextSwitchTo(ApplyContext);
|
||||
MySubscription = GetSubscription(MyLogicalRepWorker->subid, false);
|
||||
|
||||
MySubscription = GetSubscription(MyLogicalRepWorker->subid, true);
|
||||
if (!MySubscription)
|
||||
{
|
||||
ereport(LOG,
|
||||
(errmsg("logical replication apply worker for subscription %u will not "
|
||||
"start because the subscription was removed during startup",
|
||||
MyLogicalRepWorker->subid)));
|
||||
proc_exit(0);
|
||||
}
|
||||
|
||||
MySubscriptionValid = true;
|
||||
MemoryContextSwitchTo(oldctx);
|
||||
|
||||
/* Setup synchronous commit according to the user's wishes */
|
||||
SetConfigOption("synchronous_commit", MySubscription->synccommit,
|
||||
PGC_BACKEND, PGC_S_OVERRIDE);
|
||||
|
||||
if (!MySubscription->enabled)
|
||||
{
|
||||
ereport(LOG,
|
||||
@ -1571,6 +1577,10 @@ ApplyWorkerMain(Datum main_arg)
|
||||
proc_exit(0);
|
||||
}
|
||||
|
||||
/* Setup synchronous commit according to the user's wishes */
|
||||
SetConfigOption("synchronous_commit", MySubscription->synccommit,
|
||||
PGC_BACKEND, PGC_S_OVERRIDE);
|
||||
|
||||
/* Keep us informed about subscription changes. */
|
||||
CacheRegisterSyscacheCallback(SUBSCRIPTIONOID,
|
||||
subscription_change_cb,
|
||||
|
Loading…
x
Reference in New Issue
Block a user