Re: Fix BUG #17335: Duplicate result rows in Gather node

From: David Rowley <dgrowleyml(at)gmail(dot)com>
To: Yura Sokolov <y(dot)sokolov(at)postgrespro(dot)ru>
Cc: PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Fix BUG #17335: Duplicate result rows in Gather node
Date: 2022-01-01 02:19:18
Message-ID: CAApHDvrpA_Xes_m81a1MBJ5RVchkummCGEc3-tBkjg0o+ektEQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, 31 Dec 2021 at 00:14, Yura Sokolov <y(dot)sokolov(at)postgrespro(dot)ru> wrote:
> Problem:
> - Append path is created with explicitely parallel_aware = true
> - It has two child, one is trivial, other is parallel_aware = false .
> Trivial child is dropped.
> - Gather/GatherMerge path takes Append path as a child and thinks
> its child is parallel_aware = true.
> - But Append path is removed at the last since it has only one child.
> - Now Gather/GatherMerge thinks its child is parallel_aware, but it
> is not.
> Gather/GatherMerge runs its child twice: in a worker and in a leader,
> and gathers same rows twice.

Thanks for the report. I can confirm that I can recreate the problem
with your script.

I will look into this further later next week.

David

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Zhihong Yu 2022-01-01 02:43:07 Re: Speed up transaction completion faster after many relations are accessed in a transaction
Previous Message David Rowley 2022-01-01 01:44:46 Re: Speed up transaction completion faster after many relations are accessed in a transaction