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: Greg Nancarrow <gregn4422(at)gmail(dot)com>, "houzj(dot)fnst(at)fujitsu(dot)com" <houzj(dot)fnst(at)fujitsu(dot)com>, "osumi(dot)takamichi(at)fujitsu(dot)com" <osumi(dot)takamichi(at)fujitsu(dot)com>, Alexey Lesovsky <lesovsky(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Skipping logical replication transactions on subscriber side
Date: 2021-08-18 04:29:54
Message-ID: CAD21AoAQQLzGEb+WvBVN3rdNq4sp1kXoL_qY2w00iakd+A-JKA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Aug 18, 2021 at 12:02 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> On Wed, Aug 18, 2021 at 6:53 AM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> >
> > On Tue, Aug 17, 2021 at 2:35 PM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> > >
> > > > It's right that we use "STREAM STOP" rather than "STREAM END" in many
> > > > places such as elog messages, a callback name, and source code
> > > > comments. As far as I have found there are two places where we’re
> > > > using "STREAM STOP": LOGICAL_REP_MSG_STREAM_END and a description in
> > > > doc/src/sgml/protocol.sgml. Isn't it better to fix these
> > > > inconsistencies in the first place? I think “STREAM STOP” would be
> > > > more appropriate.
> > > >
> > >
> > > I think keeping STREAM_END in the enum 'LOGICAL_REP_MSG_STREAM_END'
> > > seems to be a bit better because of the value 'E' we use for it.
> >
> > But I think we don't care about the actual value of
> > LOGICAL_REP_MSG_STREAM_END since we use the enum value rather than
> > 'E'?
> >
>
> True, but here we are trying to be consistent with other enum values
> where we try to use the first letter of the last word (which is E in
> this case). I can see there are other cases where we are not
> consistent so it won't be a big deal if we won't be consistent here. I
> am neutral on this one, so, if you feel using STREAM_STOP would be
> better from a code readability perspective then that is fine.

In addition of a code readability, there is a description in the doc
that mentions "Stream End" but we describe "Stream Stop" in the later
description, which seems a bug in the doc to me:

The following messages (Stream Start, Stream End, Stream Commit, and
Stream Abort) are available since protocol version 2.

</para>

(snip)

<varlistentry>
<term>
Stream Stop
</term>
<listitem>

Perhaps it's better to hear other opinions too, but I've attached the
patch. Please review it.

Regards,

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

Attachment Content-Type Size
0001-Rename-LOGICAL_REP_MSG_STREAM_END-to-LOGICAL_REP_MSG.patch application/octet-stream 2.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro Horiguchi 2021-08-18 05:30:31 pg_veryfybackup can fail with a valid backup for TLI > 1
Previous Message Dilip Kumar 2021-08-18 04:17:40 Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o