On Mon, Nov 11, 2019 at 7:53 AM Michael Paquier <mich...@paquier.xyz> wrote:
>
> On Sun, Nov 10, 2019 at 10:43:33AM +0530, Amit Kapila wrote:
> > On Sun, Nov 10, 2019 at 5:51 AM Jeff Janes <jeff.ja...@gmail.com> wrote:
> >> in src/backend/replication/walsender.c, there is the section
> >> quoted below.  It looks like nothing interesting happens between
> >> the GetFlushRecPtr just before the loop starts, and the one inside
> >> the loop the first time through the loop.  If we want to avoid
> >> doing  CHECK_FOR_INTERRUPTS(); etc. needlessly, then we should
> >> check the result of  GetFlushRecPtr and return early if it is
> >> sufficiently advanced--before entering the loop.  If we don't
> >> care, then what is the point of updating it twice with no
> >> meaningful action >in between?  We could just get rid of the
> >> section just before the loop starts.
> >
> > +1.  I also think we should do one of the two things suggested by you.
> > I would prefer earlier as it can save us some processing in some cases
> > when the WAL is flushed in the meantime by WALWriter.
>
> So your suggestion would be to call GetFlushRecPtr() before the first
> check on RecentFlushPtr and before entering the loop?
>

No.  What I meant was to keep the current code as-is and have an
additional check on RecentFlushPtr before entering the loop.

-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com


Reply via email to