diff options
author | Thomas Munro <tmunro@postgresql.org> | 2023-04-13 09:19:54 +1200 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2023-04-13 09:37:54 +1200 |
commit | b37d051b0e59e4324e346655a27509507813db79 (patch) | |
tree | 6d414d5412b715bfc58cf6a243073ccec63e4687 /src/backend/executor/nodeHash.c | |
parent | 21e6bf4ddd045bc718c99ae551f25957ae91cb4d (diff) | |
download | postgresql-b37d051b0e59e4324e346655a27509507813db79.tar.gz postgresql-b37d051b0e59e4324e346655a27509507813db79.zip |
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
Diffstat (limited to 'src/backend/executor/nodeHash.c')
-rw-r--r-- | src/backend/executor/nodeHash.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/backend/executor/nodeHash.c b/src/backend/executor/nodeHash.c index a45bd3a3156..2e13ed17e16 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 |