From 8303469748a412525ad55aa9bba0de9ead3c26bf Mon Sep 17 00:00:00 2001 From: Matthias van de Meent Date: Thu, 30 Nov 2023 18:19:40 +0100 Subject: [PATCH v7 2/3] BRIN: Exit parallel mode when not starting parallel create index --- src/backend/access/brin/brin.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c index 001cf04aac..251350fde2 100644 --- a/src/backend/access/brin/brin.c +++ b/src/backend/access/brin/brin.c @@ -2483,8 +2483,19 @@ _brin_end_parallel(BrinLeader *brinleader, BrinBuildState *state) /* Shutdown worker processes */ WaitForParallelWorkersToFinish(brinleader->pcxt); + /* + * If we didn't actually launch workers, we still have to make sure to exit + * parallel mode. + */ if (!state) + { + if (IsMVCCSnapshot(brinleader->snapshot)) + UnregisterSnapshot(brinleader->snapshot); + + DestroyParallelContext(brinleader->pcxt); + ExitParallelMode(); return; + } /* copy the data into leader state (we have to wait for the workers ) */ state->bs_reltuples = brinshared->reltuples; -- 2.40.1