Re: pgsql: Add parallel-aware hash joins.

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Thomas Munro <thomas.munro@enterprisedb.com>, pgsql-committers <pgsql-committers@postgresql.org>
Date: 2018-01-24T23:37:18Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> On 2018-01-22 23:17:47 +1300, Thomas Munro wrote:
>> Here is a patch that halves the size of the test tables used.
>> ... Does this pass repeatedly on gaur?

> I'd say, let's just commit it and see?

Oh, sorry, I forgot I was on the hook to check that.  The news isn't
good: I got one pass, and then this on the second iteration:

*** /home/postgres/pgsql/src/test/regress/expected/join.out     Wed Jan 24 18:07:42 2018
--- /home/postgres/pgsql/src/test/regress/results/join.out      Wed Jan 24 18:26:53 2018
***************
*** 6122,6128 ****
  $$);
   initially_multibatch | increased_batches 
  ----------------------+-------------------
!  t                    | f
  (1 row)
  
  rollback to settings;
--- 6122,6128 ----
  $$);
   initially_multibatch | increased_batches 
  ----------------------+-------------------
!  t                    | t
  (1 row)
  
  rollback to settings;

======================================================================

			regards, tom lane


Commits

  1. Update obsolete sentence in README.parallel.

  2. Rewrite ConditionVariableBroadcast() to avoid live-lock.

  3. Tweak parallel hash join test case in hopes of improving stability.

  4. Rename pg_rewind's copy_file_range() to avoid conflict with new linux syscall.

  5. Fix some minor errors in new PHJ code.

  6. Fix EXPLAIN ANALYZE output for Parallel Hash.

  7. Fix rare assertion failure in parallel hash join.

  8. Cancel CV sleep during subtransaction abort.

  9. Add parallel-aware hash joins.

  10. Fix EXPLAIN ANALYZE of hash join when the leader doesn't participate.

  11. Add some regression tests that exercise hash join code.