summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Munro2023-04-12 21:19:54 +0000
committerThomas Munro2023-04-12 21:37:54 +0000
commitb37d051b0e59e4324e346655a27509507813db79 (patch)
tree6d414d5412b715bfc58cf6a243073ccec63e4687
parent21e6bf4ddd045bc718c99ae551f25957ae91cb4d (diff)
Remove overzealous assertion from PHJ.
We can't assert that we're the only process attached to a barrier after BarrierArriveAndDetachExceptLast(). Although that'll be true almost always, a late-starting parallel worker can attach very briefly (that is, immediately detach after checking the phase) right at that moment. BarrierArriveAndDetachExceptLast() already contains an assertion like that, but it holds a spinlock preventing the race. This thinko caused a one-off failure on build farm animal chimaera. Diagnosed-by: Melanie Plageman <[email protected]> Reported-by: Tom Lane <[email protected]> Discussion: https://postgr.es/m/[email protected]
-rw-r--r--src/backend/executor/nodeHash.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/backend/executor/nodeHash.c b/src/backend/executor/nodeHash.c
index a45bd3a315..2e13ed17e1 100644
--- a/src/backend/executor/nodeHash.c
+++ b/src/backend/executor/nodeHash.c
@@ -2115,7 +2115,6 @@ ExecParallelPrepHashTableForUnmatched(HashJoinState *hjstate)
/* Now we are alone with this batch. */
Assert(BarrierPhase(&batch->batch_barrier) == PHJ_BATCH_SCAN);
- Assert(BarrierParticipants(&batch->batch_barrier) == 1);
/*
* Has another process decided to give up early and command all processes