Re: bug: Gather rescan keeps the first scan's tuple bound in workers

From: Aleksander Alekseev <aleksander(at)tigerdata(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Cc: shihao zhong <zhong950419(at)gmail(dot)com>, Jeff Davis <pgsql(at)j-davis(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: bug: Gather rescan keeps the first scan's tuple bound in workers
Date: 2026-11-12 09:46:34
Message-ID: CAJ7c6TOBg6jkCd4CoF5pBaQeAqmGLXojy7n_ysu+r31En_kYmw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Shihao,

> I can reproduce this on master, and a 1000 row table is enough.
> The attached 0001 adds a tuples_needed argument to
> ExecParallelReinitialize() and stores it in the shared state, the same
> way ExecInitParallelPlan() does. 0002 is a regression test and is
> optional.
>
> For the back branches this changes the signature of an exported
> function. I don't know of any extension that calls it, but if that is
> a concern, a new function could set the bound there instead.

I reviewed v1. It applies cleanly to the `master` branch and the
tests pass. The fix looks correct and complete. One nitpick: 0002 adds
an empty line unrelated to the patch.

Other than that I believe the patch is RfC.

--
Best regards,
Aleksander Alekseev

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Ajin Cherian 2026-11-12 10:12:05 Re: BUG #19864: pg_get_publication_tables() gets cache lookup error after concurrent DROP PUBLICATION
Previous Message Сергей Шиндерук 2026-11-12 06:51:45 Re: BUG #19894: CREATE DATABASE logs all-zeros visibility map