Re: [HACKERS] Configuring BLCKSZ and XLOGSEGSZ (in 8.3) - Mailing list pgsql-patches

From Tom Lane
Subject Re: [HACKERS] Configuring BLCKSZ and XLOGSEGSZ (in 8.3)
Date
Msg-id 14231.1165357573@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] Configuring BLCKSZ and XLOGSEGSZ (in 8.3)  ("Simon Riggs" <simon@2ndquadrant.com>)
Responses Re: [HACKERS] Configuring BLCKSZ and XLOGSEGSZ (in 8.3)  ("Simon Riggs" <simon@2ndquadrant.com>)
List pgsql-patches
"Simon Riggs" <simon@2ndquadrant.com> writes:
> On Tue, 2006-12-05 at 16:24 -0500, Tom Lane wrote:
>> Sure, what would happen is that every backend passing through this code
>> would execute the several lines of computation needed to decide whether
>> to call RequestCheckpoint.

> Right, but the calculation uses RedoRecPtr, which may not be completely
> up to date. So presumably you want to re-read the shared memory value
> again to make sure we are exactly accurate and allow only one person to
> call checkpoint? Either way we have to take a lock. Insert lock causes
> deadlock, so we would need to use infolock.

Not at all.  It's highly unlikely that RedoRecPtr would be so out of
date as to result in a false request for a checkpoint, and if it does,
so what?  Worst case is we perform an extra checkpoint.

Also, given the current structure of the routine, this is probably not
the best place for that code at all --- it'd make more sense for it to
be in the just-finished-a-segment code stretch, which would ensure that
it's only done by one backend once per segment.

            regards, tom lane

pgsql-patches by date:

Previous
From: "Simon Riggs"
Date:
Subject: Re: [HACKERS] Configuring BLCKSZ and XLOGSEGSZ (in 8.3)
Next
From: "Simon Riggs"
Date:
Subject: Re: [HACKERS] Configuring BLCKSZ and XLOGSEGSZ (in 8.3)