Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit fac31b2

Browse files
committed
Prevent parallel index build in a standalone backend.
This can't work if there's no postmaster, and indeed the code got an assertion failure trying. There should be a check on IsUnderPostmaster gating the use of parallelism, as the planner has for ordinary parallel queries. Commit 40d964e got this right, so follow its model of checking IsUnderPostmaster at the same place where we check for max_parallel_maintenance_workers == 0. In general, new code implementing parallel utility operations should do the same. Report and patch by Yulin Pei, cosmetically adjusted by me. Back-patch to v11 where this code came in. Discussion: https://postgr.es/m/HK0PR01MB22747D839F77142D7E76A45DF4F50@HK0PR01MB2274.apcprd01.prod.exchangelabs.com
1 parent 666a4de commit fac31b2

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/backend/optimizer/plan/planner.c

+5-2
Original file line numberDiff line numberDiff line change
@@ -6360,8 +6360,11 @@ plan_create_index_workers(Oid tableOid, Oid indexOid)
63606360
double reltuples;
63616361
double allvisfrac;
63626362

6363-
/* Return immediately when parallelism disabled */
6364-
if (max_parallel_maintenance_workers == 0)
6363+
/*
6364+
* We don't allow performing parallel operation in standalone backend or
6365+
* when parallelism is disabled.
6366+
*/
6367+
if (!IsUnderPostmaster || max_parallel_maintenance_workers == 0)
63656368
return 0;
63666369

63676370
/* Set up largely-dummy planner state */

0 commit comments

Comments
 (0)