| 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 |
| 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 |