Re: Use SIGTERM instead of SIGUSR1 for slotsync worker to exit during promotion?
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Nisha Moond <nisha.moond412@gmail.com>, "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>,
shveta malik <shveta.malik@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-02T06:34:18Z
Lists: pgsql-hackers
On Thu, Apr 2, 2026 at 10:31 AM Fujii Masao <masao.fujii@gmail.com> wrote: > > On Wed, Apr 1, 2026 at 8:11 PM Nisha Moond <nisha.moond412@gmail.com> wrote: > > > As for backpatching, this looks like it should go back to v17, where slotsync > > > was introduced. Thought? > > > > Right, the issue exists in v17 as well. > > > > Attached the updated patch. > > Thanks for updating the patch! LGTM. > > I noticed that commit 1362bc33e02 updated the slotsync code so that a backend > performing slot synchronization is signaled on promotion, but it was applied > only to master. I’m not sure why it wasn’t backpatched to v17 and v18, > It is because we added retry slot-sync logic for API in master in commit 0d2d4a0ec3eca64e7f5ce7f7630b56a561b2663c. So, there is no chance of API waiting except for the race condition being discussed here. > but it seems we need to backpatch it first before backpatching this patch. > Thought? > I feel the use of API before this version was mainly for test-cases as it was not production ready. So, it is less helpful to backpatch 1362bc33e02, if we want, we can backpatch only the worker part of the fix. OTOH, as the issue is not frequent and we have some workaround (at least for more common platforms) as well, we can consider not backpatching it. -- With Regards, Amit Kapila.
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Update .abi-compliance-history for change to enum ProcSignalReason
- 29d8bd908560 17.10 landed
-
Fix ABI break by moving PROCSIG_SLOTSYNC_MESSAGE in ProcSignalReason
- 586f4266fb49 17.10 landed
- acf49bfede2a 18.4 landed
-
Fix slotsync worker blocking promotion when stuck in wait
- 15910b1c363f 17.10 landed
- 58c1188a3eaa 18.4 landed
- db93032a7cbd 19 (unreleased) landed
-
Add retry logic to pg_sync_replication_slots().
- 0d2d4a0ec3ec 19 (unreleased) cited
-
Enhance slot synchronization API to respect promotion signal.
- 1362bc33e025 19 (unreleased) cited