pgsql: Fix rare assertion failure in parallel hash join.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix rare assertion failure in parallel hash join.
Date: 2017-12-28 11:14:11
Message-ID: E1eUW8Z-0003A4-Fb@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix rare assertion failure in parallel hash join.

When a backend runs out of inner tuples to hash, it should detach from
grow_batch_barrier only after it has flushed all batches to disk and
merged counters, not before. Otherwise a concurrent backend in
ExecParallelHashIncreaseNumBatches() could stop waiting for this
backend and try to read tuples before they have been written. This
commit reorders those operations and should fix the assertion failures
seen occasionally on the build farm since commit
1804284042e659e7d16904e7bbb0ad546394b6a3.

Author: Thomas Munro
Discussion: https://postgr.es/m/E1eRwXy-0004IK-TO%40gemulon.postgresql.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f83040c62a78e784e6e33a6382a55925bfd66634

Modified Files
--------------
src/backend/executor/nodeHash.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2017-12-28 13:21:01 Re: pgsql: Add parallel-aware hash joins.
Previous Message Tom Lane 2017-12-28 04:26:35 Re: pgsql: Add parallel-aware hash joins.