Re: Use SIGTERM instead of SIGUSR1 for slotsync worker to exit during promotion?

Nisha Moond <nisha.moond412@gmail.com>

From: Nisha Moond <nisha.moond412@gmail.com>
To: Amit Kapila <amit.kapila16@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-27T12:37:56Z
Lists: pgsql-hackers

Attachments

On Fri, Mar 27, 2026 at 3:19 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Fri, Mar 27, 2026 at 1:19 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
> >
> > After this change, why do we need to invoke
> > ProcessSlotSyncInterrupts() twice in SyncReplicationSlots?
> >

Fixed.

>
> Also, not sure if it is a good idea to name current function as
> ProcessSlotSyncInterrupts() because we remove most of its interrupt
> handling. Shall we copy paste its code at two places as we do similar
> handling at other places as well.
>

Done.

> Another comment:
> *
> +
> + if (SlotSyncShutdown)
> + HandleSlotSyncShutdown();
> ...
> ...
> + if (CheckProcSignal(PROCSIG_SLOTSYNC_MESSAGE))
> + HandleSlotSyncShutdownInterrupt();
>
> Would it better if we name these functions as HandleSlotSyncMessage()
> and HandleSlotSyncMessageInterrupt() because for API, these simply
> lead to an ERROR and that would match with the ProcSignalReason name
> PROCSIG_SLOTSYNC_MESSAGE?
>
Done.

Attached the updated patch.

--
Thanks,
Nisha

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Update .abi-compliance-history for change to enum ProcSignalReason

  2. Fix ABI break by moving PROCSIG_SLOTSYNC_MESSAGE in ProcSignalReason

  3. Fix slotsync worker blocking promotion when stuck in wait

  4. Add retry logic to pg_sync_replication_slots().

  5. Enhance slot synchronization API to respect promotion signal.