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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Stark | 2013-01-07 13:36:33 | Re: Improve compression speeds in pg_lzcompress.c |
Previous Message | Simon Riggs | 2013-01-07 13:00:03 | Re: Extra XLOG in Checkpoint for StandbySnapshot |