Re: Skipping logical replication transactions on subscriber side

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Skipping logical replication transactions on subscriber side
Date: 2021-05-27 06:30:48
Message-ID: CAD21AoA8TfxQkw8suHX9NkVaXTLhmZBOJPbd36AB9gxh73-kaA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, May 26, 2021 at 6:11 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> On Tue, May 25, 2021 at 6:12 PM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> >
> > On Tue, May 25, 2021 at 7:21 PM Bharath Rupireddy
> > <bharath(dot)rupireddyforpostgres(at)gmail(dot)com> wrote:
> > >
> > > If there's no way to get the "correct LSN", then why can't we just
> > > print that LSN in the error context and/or in the new statistics view
> > > for logical replication workers, so that any of the existing ways can
> > > be used to skip exactly one txn?
> >
> > I think specifying XID to the subscription is more understandable for users.
> >
>
> I agree with you that specifying XID could be easier and
> understandable for users. I was thinking and studying a bit about what
> other systems do in this regard. Why don't we try to provide conflict
> resolution methods for users? The idea could be that either the
> conflicts can be resolved automatically or manually. In the case of
> manual resolution, users can use the existing methods or the XID stuff
> you are proposing here and in case of automatic resolution, the
> in-built or corresponding user-defined functions will be invoked for
> conflict resolution. There are more details to figure out in the
> automatic resolution scheme but I see a lot of value in doing the
> same.

Yeah, I also see a lot of value in automatic conflict resolution. But
maybe we can have both ways? For example, in case where the user wants
to resolve conflicts in different ways or a conflict that cannot be
resolved by automatic resolution (not sure there is in practice
though), the manual resolution would also have value.

Regards,

--
Masahiko Sawada
EDB: https://www.enterprisedb.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2021-05-27 06:35:57 Re: Forget close an open relation in ReorderBufferProcessTXN()
Previous Message Dilip Kumar 2021-05-27 06:26:08 Re: Race condition in recovery?