| From: | Michael Paquier <michael(at)paquier(dot)xyz> |
|---|---|
| To: | Robert Pang <robertpang(at)google(dot)com> |
| Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: [PATCH] Fix premature timeout in pg_promote() caused by signal interruptions |
| Date: | 2026-03-25 02:28:17 |
| Message-ID: | acNIQaeIg88xkCNC@paquier.xyz |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wed, Mar 11, 2026 at 09:44:07AM -0700, Robert Pang wrote:
> The current implementation of pg_promote() calculates a fixed number
> of loop iterations based on the timeout value, assuming each loop
> waits exactly 100 ms for the backend latch. However, if the backend
> receives an unrelated signal (e.g., from
> client_connection_check_interval), it wakes up early. These repeated,
> unrelated wakeups cause the loop counter to deplete much faster than
> intended, leading to a premature timeout.
It is true that we can do better here, and your proposal about having
a more precise timeout calculation looks like a sensible improvement
for this case.
No objections regarding your patch. I would like to apply it on HEAD,
if there are no objections.
--
Michael
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2026-03-25 02:36:37 | Re: Instability in test/regress/sql/portals.sql |
| Previous Message | Michael Paquier | 2026-03-25 02:19:15 | Re: Teach isolation tester about injection points in background workers |