Skip site navigation (1) Skip section navigation (2)

Re: Extra XLOG in Checkpoint for StandbySnapshot

From: Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
To: "'Simon Riggs'" <simon(at)2ndQuadrant(dot)com>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Extra XLOG in Checkpoint for StandbySnapshot
Date: 2013-01-07 13:33:35
Message-ID: 002601cdecdb$989c3760$c9d4a620$@kapila@huawei.com (view raw or flat)
Thread:
Lists: pgsql-hackers
On Monday, January 07, 2013 6:30 PM Simon Riggs wrote:
> On 7 January 2013 12:39, Amit Kapila <amit(dot)kapila(at)huawei(dot)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



In response to

Responses

pgsql-hackers by date

Next:From: Greg StarkDate: 2013-01-07 13:36:33
Subject: Re: Improve compression speeds in pg_lzcompress.c
Previous:From: Simon RiggsDate: 2013-01-07 13:00:03
Subject: Re: Extra XLOG in Checkpoint for StandbySnapshot

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group