| From: | shihao zhong <zhong950419(at)gmail(dot)com> |
|---|---|
| To: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
| Cc: | Manu <manuelreyesbravo(at)gmail(dot)com>, Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(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-20 01:25:50 |
| Message-ID: | CAGRkXqR8Kfdd=G1Le=RzhRHzZBbLtPc44207bwhrPDu_C5ZMEA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi Masahiko,
I think you are right, 0001 would turn the checksum barrier's retry into a
FATAL.
Option (1) can cover the failover slot case in 19. At the end of
recovery, a stale cache can only be in a process started before
StartupLogicalDecodingStatus(), like the checkpointer. Later ones read
it at startup, and a replayed enable waits for everyone. So the startup
process can emit the barrier there, and at the end of recovery wait for
that generation when the status did not change.
It does not help when replaying the enable record has to wait, or
when the end of recovery itself turns the status on. For master I
agree (2) is better, and it helps DROP DATABASE too.
Thanks,
Shihao
| Attachment | Content-Type | Size |
|---|---|---|
| v5-0002-Test-promotion-with-a-backend-blocked-on-a-stuck-.patch | application/octet-stream | 5.3 KB |
| v5-0001-Skip-the-end-of-recovery-barrier-wait-when-nothin.patch | application/octet-stream | 3.5 KB |
| nocfbot-v5-19-0001-Skip-the-end-of-recovery-barrier-wait-when-nothin.patch | application/octet-stream | 8.3 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2026-10-20 01:34:05 | Re: [PATCH] initdb: map Windows' new Canadian time zone names |
| Previous Message | Baji Shaik | 2026-10-20 01:11:11 | Re: two small tab-completion patches (ALTER CONSTRAINT, CHECK modifiers) |