Re: [HACKERS] Parallel Append implementation
Amit Khandekar <amitdkhan.pg@gmail.com>
From: Amit Khandekar <amitdkhan.pg@gmail.com>
To: Rafia Sabih <rafia.sabih@enterprisedb.com>
Cc: Robert Haas <robertmhaas@gmail.com>,
Amit Kapila <amit.kapila16@gmail.com>, Andres Freund <andres@anarazel.de>,
Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-11-21T08:52:57Z
Lists: pgsql-hackers
Attachments
- pgbench_partitioned.sql (application/octet-stream)
- ParallelAppend_v19_rebased.patch (application/octet-stream) patch v19
On 21 November 2017 at 12:44, Rafia Sabih <rafia.sabih@enterprisedb.com> wrote: > On Mon, Nov 13, 2017 at 12:54 PM, Amit Khandekar <amitdkhan.pg@gmail.com> wrote: >> Thanks a lot Robert for the patch. I will have a look. Quickly tried >> to test some aggregate queries with a partitioned pgbench_accounts >> table, and it is crashing. Will get back with the fix, and any other >> review comments. >> >> Thanks >> -Amit Khandekar > > I was trying to get the performance of this patch at commit id - > 11e264517dff7a911d9e6494de86049cab42cde3 and TPC-H scale factor 20 > with the following parameter settings, > work_mem = 1 GB > shared_buffers = 10GB > effective_cache_size = 10GB > max_parallel_workers_per_gather = 4 > enable_partitionwise_join = on > > and the details of the partitioning scheme is as follows, > tables partitioned = lineitem on l_orderkey and orders on o_orderkey > number of partitions in each table = 10 > > As per the explain outputs PA was used in following queries- 1, 3, 4, > 5, 6, 7, 8, 10, 12, 14, 15, 18, and 21. > Unfortunately, at the time of executing any of these query, it is > crashing with the following information in core dump of each of the > workers, > > Program terminated with signal 11, Segmentation fault. > #0 0x0000000010600984 in pg_atomic_read_u32_impl (ptr=0x3ffffec29294) > at ../../../../src/include/port/atomics/generic.h:48 > 48 return ptr->value; > > In case this a different issue as you pointed upthread, you may want > to have a look at this as well. > Please let me know if you need any more information in this regard. Right, for me the crash had occurred with a similar stack, although the real crash happened in one of the workers. Attached is the script file pgbench_partitioned.sql to create a schema with which I had reproduced the crash. The query that crashed : select sum(aid), avg(aid) from pgbench_accounts; Set max_parallel_workers_per_gather to at least 5. Also attached is v19 patch rebased. -- Thanks, -Amit Khandekar EnterpriseDB Corporation The Postgres Database Company
Commits
-
Update parallel.sgml for Parallel Append
- ac535cd47806 11.0 landed
- e80f2b335ecd 12.0 landed
-
Support Parallel Append plan nodes.
- ab7271677812 11.0 landed
-
Remove BufFile's isTemp flag.
- 11e264517dff 11.0 cited
-
Improve comments for parallel executor estimation functions.
- 11c1d555cebe 11.0 landed
-
Separate reinitialization of shared parallel-scan state from ExecReScan.
- 41b0dd987d44 11.0 cited
-
Eat XIDs more efficiently in recovery TAP test.
- 08aed6604de2 10.0 cited
-
Avoid syntax error on platforms that have neither LOCALE_T nor ICU.
- 457a44487328 10.0 cited
-
Preparatory refactoring for parallel merge join support.
- a71f10189dc1 10.0 cited