Re: Fix LOCK_TIMEOUT handling in slotsync worker
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Amit Kapila <amit.kapila16@gmail.com>
Date: 2025-12-08T07:35:54Z
Lists: pgsql-hackers
Hi Zhijie,
Thanks for the patch. The change looks reasonable. ShutDownSlotSync() has set SlotSyncCtx->stopSignaled, and SIGUSR1’s procsignal_sigusr1_handler will do SetLatch(MyLatch) that will in turn wake up ProcessSlotSyncInterrupts(), then hit if (SlotSyncCtx->stopSignaled) and the slotsync worker terminates.
> On Dec 8, 2025, at 10:04, Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com> wrote:
>
> <v1-0001-Fix-LOCK_TIMEOUT-handling-in-slotsync-worker.patch>
I have nit comment:
```
- if (ShutdownRequestPending)
+ if (SlotSyncCtx->stopSignaled)
{
ereport(LOG,
- errmsg("replication slot synchronization worker is shutting down on receiving SIGINT"));
+ errmsg("replication slot synchronization worker is shutting down because promotion is triggered"));
```
In the error message, “because promotion is triggered" sound a little redundant, can be just:
"replication slot synchronization worker is shutting down due to promotion"
Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix LOCK_TIMEOUT handling in slotsync worker.
- 04396eacd3fa 19 (unreleased) landed
- 6c61c69d5886 18.2 landed
- f2818868aec8 17.8 landed