Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query - Mailing list pgsql-bugs

From Marko Tiikkaja
Subject Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query
Date
Msg-id CAL9smLAnfPJCDUUG4ckX2iznj53V7VSMsYefzZieN93YxTNOcw@mail.gmail.com
Whole thread Raw
In response to Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query  (Amit Kapila <amit.kapila16@gmail.com>)
List pgsql-bugs
On Tue, Aug 14, 2018 at 7:10 AM, Amit Kapila <amit.kapila16@gmail.com> wrote:
Yeah, one idea could be that we detect this in
max_parallel_hazard_walker during the very first pass it performs on
query-tree.  Basically, in the SubLink node check, we can detect
whether the subselect has Limit/Offset clause and if so, then we can
treat it as parallel_unsafe.  I have tried that way and it prohibits
the parallel plan for the reported queries.  However, I think more
analysis and verification is required to see if it can happen in any
other related cases.

This seems broken as well:

    create table qwr(a int not null, b int not null, c text not null);
    insert into qwr select i, i, (select prosrc from pg_proc where oid=11734) from generate_series(1, 128000) i;
    set parallel_setup_cost to 0;
    analyze qwr;
    select count(*) from qwr where (a, b) in (select a, row_number() over() from qwr);


.m

pgsql-bugs by date:

Previous
From: Amit Kapila
Date:
Subject: Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query
Next
From: Amit Kapila
Date:
Subject: Re: BUG #15324: Non-deterministic behaviour from parallelised sub-query