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: Nisha Moond <nisha.moond412@gmail.com>
Cc: shveta malik <shveta.malik@gmail.com>,
Fujii Masao <masao.fujii@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-27T07:49:58Z
Lists: pgsql-hackers
On Fri, Mar 27, 2026 at 10:27 AM Nisha Moond <nisha.moond412@gmail.com> wrote:
>
> On Fri, Mar 27, 2026 at 9:28 AM shveta malik <shveta.malik@gmail.com> wrote:
> >
> > In ProcessSlotSyncInterrupts(), now we don't need the below logic right?
> >
> > if (SlotSyncCtx->stopSignaled)
> > {
> > if (AmLogicalSlotSyncWorkerProcess())
> > {
> > ...
> > proc_exit(0);
> > }
> > else
> > {
> > /*
> > * For the backend executing SQL function
> > * pg_sync_replication_slots().
> > */
> > ereport(ERROR,
> > errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
> > errmsg("replication slot synchronization will stop
> > because promotion is triggered"));
> > }
> > }
> >
>
> Right. Attached patch with the suggested changes.
>
After this change, why do we need to invoke
ProcessSlotSyncInterrupts() twice in SyncReplicationSlots?
--
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