Re: Extra XLOG in Checkpoint for StandbySnapshot - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Extra XLOG in Checkpoint for StandbySnapshot
Date
Msg-id 002601cdecdb$989c3760$c9d4a620$@kapila@huawei.com
Whole thread Raw
In response to Re: Extra XLOG in Checkpoint for StandbySnapshot  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: Extra XLOG in Checkpoint for StandbySnapshot
List pgsql-hackers
On Monday, January 07, 2013 6:30 PM Simon Riggs wrote:
> On 7 January 2013 12:39, Amit Kapila <amit.kapila@huawei.com> wrote:
> 
> > So We can modify to change this in function LogStandbySnapshot as
> below:
> >                 running = GetRunningTransactionData();
> >                 if (running->xcnt > 0)
> >                         LogCurrentRunningXacts(running);
> >
> > So this check will make sure that if there is no operation happening
> i.e. no
> > new running transaction, then no need to log running transaction
> snapshot
> > and hence further checkpoint operations will be skipped.
> >
> > Let me know if I am missing something?
> 
> It's not the same test. The fact that nothing is running at that
> moment is not the same thing as saying nothing at all has run since
> last checkpoint.

But isn't the functionality of LogStandbySnapshot() is to log "all running
xids" and "all current 
AccessExclusiveLocks". For RunningTransactionLocks, WAL is avoided in
similar way.

> If we skip the WAL record in the way you suggest, we'd be unable to
> start quickly in some cases.

If there are any operations happened which have generated WAL, then on next
checkpoint interval the checkpoint operation should happen. 
Which cases will it not able to start quickly?

With Regards,
Amit Kapila




pgsql-hackers by date:

Previous
From: "孟庆钟"
Date:
Subject: A very small typo in the comment
Next
From: Greg Stark
Date:
Subject: Re: Improve compression speeds in pg_lzcompress.c