Re: server crashed with TRAP: FailedAssertion("!(!parallel_aware || pathnode->path.parallel_safe)"
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com>, pgsql-hackers <pgsql-hackers@postgresql.org>,
Robert Haas <robertmhaas@gmail.com>, Amit Khandekar <amitdkhan.pg@gmail.com>, amul sul <sulamul@gmail.com>
Date: 2018-06-16T05:14:06Z
Lists: pgsql-hackers
Attachments
- fix_pa_path_generation_v1.patch (application/octet-stream) patch v1
On Thu, Jun 14, 2018 at 9:54 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com> writes: >> I am getting a server crash for below test case. > >> postgres=# CREATE TABLE test( c1 int, c2 int, c3 text) partition by >> range(c1); >> CREATE TABLE >> postgres=# create table test_p1 partition of test for values from >> (minvalue) to (0); >> CREATE TABLE >> postgres=# create table test_p2 partition of test for values from (0) to >> (maxvalue); >> CREATE TABLE >> postgres=# >> postgres=# select (select max((select t1.c2 from test t1 where t1.c1 = >> t2.c1))) from test t2; >> server closed the connection unexpectedly > > Reproduced here. The assert seems to be happening because > add_paths_to_append_rel is trying to create a parallel path for > an appendrel that is marked consider_parallel = false. > > This appears to be the fault of commit ab7271677, whose authors I've cc'd: > the stanza starting at about allpaths.c:1672 is bullheadedly creating a > parallel path whether that's allowed or not. Fixing it might be as simple > as adding "rel->consider_parallel" to the conditions there. > Yeah, or perhaps disallow creation of any partial paths at the first place like in attached. This will save us some work as well. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Commits
-
Improve coding pattern in Parallel Append code.
- 98d476a965ee 11.0 landed
-
Support Parallel Append plan nodes.
- ab7271677812 11.0 cited