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

Commit b37d051

Browse files
committed
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 <melanieplageman@gmail.com> Reported-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/3590249.1680971629@sss.pgh.pa.us
1 parent 21e6bf4 commit b37d051

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

src/backend/executor/nodeHash.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2115,7 +2115,6 @@ ExecParallelPrepHashTableForUnmatched(HashJoinState *hjstate)
21152115

21162116
/* Now we are alone with this batch. */
21172117
Assert(BarrierPhase(&batch->batch_barrier) == PHJ_BATCH_SCAN);
2118-
Assert(BarrierParticipants(&batch->batch_barrier) == 1);
21192118

21202119
/*
21212120
* Has another process decided to give up early and command all processes

0 commit comments

Comments
 (0)