Remove overzealous assertion from PHJ.
authorThomas Munro <tmunro@postgresql.org>
Wed, 12 Apr 2023 21:19:54 +0000 (09:19 +1200)
committerThomas Munro <tmunro@postgresql.org>
Wed, 12 Apr 2023 21:37:54 +0000 (09:37 +1200)
commitb37d051b0e59e4324e346655a27509507813db79
tree6d414d5412b715bfc58cf6a243073ccec63e4687
parent21e6bf4ddd045bc718c99ae551f25957ae91cb4d
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
src/backend/executor/nodeHash.c