Re: Wrong comment for ReplicationSlotCreate - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Wrong comment for ReplicationSlotCreate
Date
Msg-id CAA4eK1+zv5s3r6v8tCNV=yVZbMAE3i3VXJ5fYoiNuTVbPbVovw@mail.gmail.com
Whole thread Raw
In response to Re: Wrong comment for ReplicationSlotCreate  (Daniil Davydov <3danissimo@gmail.com>)
List pgsql-hackers
On Thu, Jan 1, 2026 at 10:01 PM Daniil Davydov <3danissimo@gmail.com> wrote:
>
> On Wed, Dec 31, 2025 at 9:32 AM Chao Li <li.evan.chao@gmail.com> wrote:
> >
> > You’re right that during CREATE_REPLICATION_SLOT, SnapBuildFindSnapshot() ensures we don’t miss PREPARE records for
preparedtransactions that exist at creation time. 
> >
> > 1462aad2e introduced support for altering logical replication slot options, including two_phase, after the slot has
beencreated. The commit comment says: 
> > ```
> >     Changing the 'two_phase' option for a subscription from 'true' to 'false'
> >     is permitted only when there are no pending prepared transactions
> >     corresponding to that subscription. Otherwise, the changes of already
> >     prepared transactions can be replicated again along with their corresponding
> >     commit leading to duplicate data or errors.
> > ```
> >
> > true->false is not allowed, however false->true is permitted. So, I think the old comment is still possible today:
> > ```
> > *     Note that enabling this option after decoding has already advanced
> > *     may result in missing PREPARE records for transactions that were
> > *     prepared before the option was enabled.
> > ```
> >
>
> Hm, I still can't understand why the comment that you provided is correct.
>
> How can we "miss PREPARE records" if slot creation requires all  prepared
> transactions to finish? The commit message says about risks during the
> change of the parameter "on the fly". But we are dealing with slot creation.
>

The point is about changing the two_phase property of slot after
slot_creation which we carefully change for slots related to
subscription. So, if we don't take necessary precautions then enabling
it on the fly could lead to the problem Chao is worried about.

--
With Regards,
Amit Kapila.



pgsql-hackers by date:

Previous
From: Prafulla Ranadive
Date:
Subject: Need help with postgresql build on windows
Next
From: Amit Kapila
Date:
Subject: Re: Wrong comment for ReplicationSlotCreate