Re: [PG19] Promotion hangs behind a backend blocked on a stuck client

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: shihao zhong <zhong950419(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Manu <manuelreyesbravo(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Noah Misch <noah(at)leadboat(dot)com>
Subject: Re: [PG19] Promotion hangs behind a backend blocked on a stuck client
Date: 2026-10-15 05:18:32
Message-ID: CAHGQGwHjwasRh=PTrpz7YtO-yOjqfg5Bim75jM4QWq3pWdtJzQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Oct 15, 2026 at 12:54 PM shihao zhong <zhong950419(at)gmail(dot)com> wrote:
>
> Hi,
>
> Since 67c20979ce7, promotion waits until every process absorbs a
> ProcSignalBarrier, even with wal_level=replica and no slots.

Promotion currently waits for the barrier even with wal_level = logical?
Is that really necessary? XLogLogicalInfoActive() seems to always return
true in that case, regardless of the cached value.

Even with your patch allowing backends to process barriers while blocked
on client I/O, in addition to that fix, it's also worth skipping this barrier
when wal_level = logical? That would avoid unnecessary synchronization
with all running processes and could reduce promotion time.

Regards,

--
Fujii Masao

Attachment Content-Type Size
nocfbot-WIP-v1-0001-Skip-the-end-of-recovery-logical-WAL-barrier-at-w.patch application/octet-stream 2.2 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2026-10-15 05:24:52 Re: Bug in logical decoding with DDL and subtransactions
Previous Message shihao zhong 2026-10-15 04:58:14 [PG19] Indexes from 18 miss rows after pg_upgrade