On Tue, Dec 26, 2017 at 6:19 PM, Tels <nospam-pg-ab...@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.jeli...@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
logical_repl_caught_up_v3.patch
Description: Binary data