mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-04 00:02:52 -05:00 
			
		
		
		
	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