Re: [HACKERS] Replication status in logical replication - Mailing list pgsql-hackers

From Masahiko Sawada
Subject Re: [HACKERS] Replication status in logical replication
Date
Msg-id CAD21AoByhYcQJDRqX9GXRq_zCfPOLa=_mJbUe7iA8xrLDAc2gQ@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] Replication status in logical replication  ("Tels" <nospam-pg-abuse@bloodgate.com>)
Responses Re: [HACKERS] Replication status in logical replication
List pgsql-hackers
On Tue, Dec 26, 2017 at 6:19 PM, Tels <nospam-pg-abuse@bloodgate.com> wrote:
> Moin,
>
> On Mon, December 25, 2017 7:26 pm, Masahiko Sawada wrote:
>> On Tue, Dec 26, 2017 at 1:10 AM, Petr Jelinek
>> <petr.jelinek@2ndquadrant.com> wrote:
>>> On 21/11/17 22:06, Masahiko Sawada wrote:
>>>>
>>>> After investigation, I found out that my previous patch was wrong
>>>> direction. I should have changed XLogSendLogical() so that we can
>>>> check the read LSN and set WalSndCaughtUp = true even after read a
>>>> record without wait. Attached updated patch passed 'make check-world'.
>>>> Please review it.
>>>>
>>>
>>> Hi,
>>>
>>> This version looks good to me and seems to be in line with what we do in
>>> physical replication.
>>>
>>> Marking as ready for committer.
>
> (Sorry Masahiko, you'll get this twice, as fumbled the reply button.)
>
> I have not verifed that comment and/or code are correct, just a grammar fix:
>
> +                /*
> +                 * If we've sent a record is at or beyond the flushed
> point, then
> +                 * we're caught up.
>
> That should read more like this:
>
> "If we've sent a record that is at or beyond the flushed point, we have
> caught up."
>

Thank you for reviewing the patch!
Actually, that comment is inspired by the comment just below comment.
ISTM it's better to fix both if grammar of them is not appropriate.

+
+      /*
+        * If we've sent a record that is at or beyond the flushed point, we
+        * have caught up.
+        */
+       if (sentPtr >= GetFlushRecPtr())
+           WalSndCaughtUp = true;
   }
   else
   {
       /*
        * If the record we just wanted read is at or beyond the flushed
        * point, then we're caught up.
        */
       if (logical_decoding_ctx->reader->EndRecPtr >= GetFlushRecPtr())
       {

Attached a updated patch. Please review it.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Attachment

pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: BUGFIX: standby disconnect can corrupt serialized reorder buffers
Next
From: Thomas Munro
Date:
Subject: Re: pgsql: Add parallel-aware hash joins.