Re: [HACKERS] Gather Merge - Mailing list pgsql-hackers

From Rushabh Lathia
Subject Re: [HACKERS] Gather Merge
Date
Msg-id CAGPqQf36HB861nSSTeSKyChspb6Y89JgQm-=nPezNz23gG0xOA@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] Gather Merge  (Andreas Joseph Krogh <andreas@visena.com>)
Responses Re: [HACKERS] Gather Merge
List pgsql-hackers


On Fri, Mar 10, 2017 at 2:33 PM, Andreas Joseph Krogh <andreas@visena.com> wrote:
På fredag 10. mars 2017 kl. 09:53:47, skrev Rushabh Lathia <rushabh.lathia@gmail.com>:
 
 
On Fri, Mar 10, 2017 at 1:44 PM, Andreas Joseph Krogh <andreas@visena.com> wrote:
På torsdag 09. mars 2017 kl. 18:09:45, skrev Robert Haas <robertmhaas@gmail.com>:
On Thu, Mar 9, 2017 at 11:25 AM, Rushabh Lathia
<rushabh.lathia@gmail.com> wrote:
> I don't see this failure with the patch. Even I forced the gather merge
> in the above query and that just working fine.
>
> Attaching patch, with the discussed changes.

Committed.
 
 
I'm still getting (as of 9c2635e26f6f4e34b3b606c0fc79d0e111953a74): 
ERROR:  GatherMerge child's targetlist doesn't match GatherMerge

 
from this query:
 
EXPLAIN ANALYSE SELECT
    em.entity_id
FROM origo_email_delivery del   JOIN origo_email_message em ON (del.message_id = em.entity_id)
WHERE 1 = 1
      AND del.owner_id = 3
      AND (         del.from_entity_id = 279519
          OR
          del.from_entity_id = 3 AND em.entity_id IN (             SELECT
                  ea_owner.message_id             FROM origo_email_address_owner ea_owner             WHERE ea_owner.recipient_id = 279519
          )     )

ORDER BY del.received_timestamp DESC
LIMIT 101 OFFSET 0;
 
Is this known or shall I provide more info/schema etc?
 
Please provide the reproducible test if possible.
 
The execution-plan seems (unsurprisingly) to depend on data-distribution, so is there a way I can force a GatherMerge?

Not directly. GatherMerge cost is mainly depend on parallel_setup_cost,
parallel_tuple_cost and cpu_operator_cost. May be you can force this
by setting this cost low enough. Or another way to force is by disable the
other plans.

What plan you are getting now? You not seeing the below error ?

ERROR:  GatherMerge child's targetlist doesn't match GatherMerge

 
--
Andreas Joseph Krogh



--
Rushabh Lathia

pgsql-hackers by date:

Previous
From: Amit Khandekar
Date:
Subject: Re: [HACKERS] Parallel Append implementation
Next
From: Andreas Joseph Krogh
Date:
Subject: Re: [HACKERS] Gather Merge