Re: Fix slot synchronization with two_phase decoding enabled

Masahiko Sawada <sawada.mshk@gmail.com>

From: Masahiko Sawada <sawada.mshk@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Nisha Moond <nisha.moond412@gmail.com>, "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-04-28T18:23:35Z
Lists: pgsql-hackers
On Sat, Apr 26, 2025 at 5:07 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Fri, Apr 25, 2025 at 9:57 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
> >
> > On Fri, Apr 25, 2025 at 3:43 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
> > >
> > > The second can mislead the user
> > > for a long period in cases where prepare and commit have a large time
> > > gap. I feel this will introduce complexity either in the form of code
> > > or in giving the information to the user.
> >
> > Agreed. Both ways introduce complexity so we need to consider the
> > user-unfriendliness (by not having a proper way to enable failover for
> > the two_phase-enabled-slot using SQL API) vs. risk (of introducing
> > complexity).
> >
>
> Right, to me it sounds risky to provide such functionality for SQL API
> in the back branch.

So do you think it's okay to leave it as a restriction (i.e. there is
no easy way to enable failover for a two_phase-enabled logical slot
created by SQL API)? or do you have any better idea for that?

Regards,

-- 
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com



Commits

  1. Don't retreat slot's confirmed_flush LSN.

  2. Fix assertion failure during decoding from synced slots.

  3. Fix xmin advancement during fast_forward decoding.

  4. Fix slot synchronization for two_phase enabled slots.

  5. Again match pg_user_mappings to information_schema.user_mapping_options.