Re: pgsql: Add parallel-aware hash joins.
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Andres Freund <andres@anarazel.de>, Robert Haas <robertmhaas@gmail.com>,
Thomas Munro <thomas.munro@enterprisedb.com>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-01-24T20:36:35Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes: > Andres Freund wrote: >> Besides larger groups, starting the next test(s) earlier, another way to >> gain pretty large improvements would be a test schedule feature that >> allowed to stat dependencies between tests. So instead of manually >> grouping the schedule, have 'numerology' state that it depends on int2, >> int4, int8, float4, float8, which means it can actually be started >> earlier than it currently can in many cases. > Yeah, I proposed this a decade ago but never had the wits to write the > code. There'd be a lot of followup work to sanitize the tests better. For instance, if two tests transiently create tables named "foo", it doesn't matter as long as they're not in the same group. It would matter with this. There are things we could do to mitigate that --- one attractive idea is to have each test create its own schema for transient objects. The limiting factor is that we don't want the test scripts to change so much that back-patching tests becomes impossible. (Or at least, I'd not like that.) I'm concerned that we'd end up with a higher number of irreproducible test failures with no good way to investigate them. > It would be very useful for running tests standalone, too -- much as I > dislike 'make installcheck' taking half a minute, I dislike much more > having to take 5 minutes each time to figure out that create_table > depends on box, polygon, create_function, yadda yadda. Yeah, if we could say "run just this test and its needed precursors", that'd be a huge win in a lot of situations. Definitely seems like an idea worth pursuing. regards, tom lane
Commits
-
Update obsolete sentence in README.parallel.
- 28e04155f17c 11.0 cited
-
Rewrite ConditionVariableBroadcast() to avoid live-lock.
- aced5a92bf46 11.0 cited
-
Tweak parallel hash join test case in hopes of improving stability.
- 934c7986f4a0 11.0 landed
-
Rename pg_rewind's copy_file_range() to avoid conflict with new linux syscall.
- 3e68686e2c55 11.0 cited
-
Fix some minor errors in new PHJ code.
- 6fcde2406304 11.0 landed
-
Fix EXPLAIN ANALYZE output for Parallel Hash.
- 93ea78b17c47 11.0 landed
-
Fix rare assertion failure in parallel hash join.
- f83040c62a78 11.0 landed
-
Cancel CV sleep during subtransaction abort.
- f3decdc94ea3 10.2 landed
- 59d1e2b95a82 11.0 landed
-
Add parallel-aware hash joins.
- 1804284042e6 11.0 cited
-
Fix EXPLAIN ANALYZE of hash join when the leader doesn't participate.
- 5bcf389ecfd4 11.0 cited
-
Add some regression tests that exercise hash join code.
- fa330f9adf4e 11.0 cited