Skip to content

Commit 59348fb

Browse files
author
Amit Kapila
committed
Fix the check to limit sync workers.
We don't allow to invoke more sync workers once we have reached the sync worker limit per subscription. But the check to enforce this also doesn't allow to launch an apply worker if it gets restarted. This code was introduced by commit de43897 but we caught the problem only with the test added by recent commit c91f71b which started failing occasionally in the buildfarm. As per buildfarm. Diagnosed-by: Amit Kapila, Masahiko Sawada, Tomas Vondra Author: Amit Kapila Backpatch-through: 10 Discussion: https://postgr.es/m/CAH2L28vddB_NFdRVpuyRBJEBWjz4BSyTB=_ektNRH8NJ1jf95g@mail.gmail.com https://postgr.es/m/f90d2b03-4462-ce95-a524-d91464e797c8@enterprisedb.com
1 parent 0795da8 commit 59348fb

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/backend/replication/logical/launcher.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -372,11 +372,11 @@ logicalrep_worker_launch(Oid dbid, Oid subid, const char *subname, Oid userid,
372372
}
373373

374374
/*
375-
* If we reached the sync worker limit per subscription, just exit
376-
* silently as we might get here because of an otherwise harmless race
377-
* condition.
375+
* We don't allow to invoke more sync workers once we have reached the sync
376+
* worker limit per subscription. So, just return silently as we might get
377+
* here because of an otherwise harmless race condition.
378378
*/
379-
if (nsyncworkers >= max_sync_workers_per_subscription)
379+
if (OidIsValid(relid) && nsyncworkers >= max_sync_workers_per_subscription)
380380
{
381381
LWLockRelease(LogicalRepWorkerLock);
382382
return;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy