agora inbox for pgsql-hackers@postgresql.orghelp / color / mirror / Atom feed
[PATCH] Remove stale XXX comment in logical launcher 1+ messages / 1 participants [nested] [flat]
* [PATCH] Remove stale XXX comment in logical launcher @ 2026-09-08 07:44 Álvaro Herrera <alvherre@kurilemu.de> 0 siblings, 0 replies; 1+ messages in thread From: Álvaro Herrera @ 2026-09-08 07:44 UTC (permalink / raw) An XXX comment in launcher.c questioned why the slot drop does not request disabling logical decoding. But the conflict detection slot is a physical slot, so there is no logical decoding state to disable. Remove the comment and add an explanation atop the slot creation function clarifying that the slot is physical. Author: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com> Reviewed-by: shveta malik <shveta.malik@gmail.com> Discussion: https://postgr.es/m/TY4PR01MB177186C8AB596F30DF704ECDC94B62@TY4PR01MB17718.jpnprd01.prod.outlook.com --- src/backend/replication/logical/launcher.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c index c328ad53ecc..5057a928adb 100644 --- a/src/backend/replication/logical/launcher.c +++ b/src/backend/replication/logical/launcher.c @@ -1284,12 +1284,12 @@ ApplyLauncherMain(Datum main_arg) retain_dead_tuples = true; /* - * Create a replication slot to retain information necessary - * for conflict detection such as dead tuples, commit - * timestamps, and origins. + * Create a (physical) replication slot to retain information + * necessary for conflict detection such as dead tuples, + * commit timestamps, and origins. * * The slot is created before starting the apply worker to - * prevent it from unnecessarily maintaining its + * prevent the worker from unnecessarily maintaining its * oldest_nonremovable_xid. * * The slot is created even for a disabled subscription to @@ -1418,7 +1418,6 @@ ApplyLauncherMain(Datum main_arg) if (MyReplicationSlot) { if (!retain_dead_tuples) - /* XXX unclear why we don't request logical decoding disable */ ReplicationSlotDropAcquired(false); else if (can_update_xmin) update_conflict_slot_xmin(xmin); @@ -1627,6 +1626,11 @@ reset_conflict_slot_xmin_to_safe_horizon(void) /* * Create and acquire the replication slot used to retain information for * conflict detection, if not yet. + * + * A physical slot is enough, as no logical decoding is going to be performed + * through it. In fact, the slot will only be used through its xmin horizon + * to prevent the removal of dead tuples and commit timestamp data required by + * subscriptions with retain_dead_tuples enabled in any database. */ void CreateConflictDetectionSlot(void) -- 2.47.3 --3lvjw6xwjq6anblz-- ^ permalink raw reply [nested|flat] 1+ messages in thread
only message in thread Thread overview: 1+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2026-09-08 07:44 [PATCH] Remove stale XXX comment in logical launcher Álvaro Herrera <alvherre@kurilemu.de>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox