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);
|
ALLOCSET_DEFAULT_SIZES);
|
||||||
StartTransactionCommand();
|
StartTransactionCommand();
|
||||||
oldctx = MemoryContextSwitchTo(ApplyContext);
|
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;
|
MySubscriptionValid = true;
|
||||||
MemoryContextSwitchTo(oldctx);
|
MemoryContextSwitchTo(oldctx);
|
||||||
|
|
||||||
/* Setup synchronous commit according to the user's wishes */
|
|
||||||
SetConfigOption("synchronous_commit", MySubscription->synccommit,
|
|
||||||
PGC_BACKEND, PGC_S_OVERRIDE);
|
|
||||||
|
|
||||||
if (!MySubscription->enabled)
|
if (!MySubscription->enabled)
|
||||||
{
|
{
|
||||||
ereport(LOG,
|
ereport(LOG,
|
||||||
@ -1571,6 +1577,10 @@ ApplyWorkerMain(Datum main_arg)
|
|||||||
proc_exit(0);
|
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. */
|
/* Keep us informed about subscription changes. */
|
||||||
CacheRegisterSyscacheCallback(SUBSCRIPTIONOID,
|
CacheRegisterSyscacheCallback(SUBSCRIPTIONOID,
|
||||||
subscription_change_cb,
|
subscription_change_cb,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user