Re: Leader backend hang on IPC/ParallelFinish when LWLock held at parallel query start

From: Noah Misch <noah(at)leadboat(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Francesco Degrassi <francesco(dot)degrassi(at)optionfactory(dot)net>, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: Leader backend hang on IPC/ParallelFinish when LWLock held at parallel query start
Date: 2024-11-07 19:38:23
Message-ID: 20241107193823.dc.nmisch@google.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, Nov 07, 2024 at 02:29:19PM -0500, Tom Lane wrote:
> Noah Misch <noah(at)leadboat(dot)com> writes:
> > This thread's previous commit just forced a serial plan.
>
> My concern is that the previous commit forced new plans to be serial,
> but did nothing about re-use of an existing plan.

I agree. It solved one way of reaching the problem, leaving at least one
unsolved.

> > The executor
> > counterpart would look like having the executor do what it does when there are
> > no free worker slots.
>
> Ah, that could be a way out. Stick an INTERRUPTS_CAN_BE_PROCESSED()
> call somewhere in there?

Exactly. If !INTERRUPTS_CAN_BE_PROCESSED(), proceed as though no workers can
be launched.

> That could even allow us to revert the
> planner change, which would simplify testing of the executor change.

True.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message David Rowley 2024-11-07 22:58:07 Re: Suboptimal query plans for BETWEEN SYMMETRIC operations
Previous Message Mineharu Takahara 2024-11-07 19:35:53 Suboptimal query plans for BETWEEN SYMMETRIC operations