Re: An example of bugs for Hot Standby

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: pgsql-hackers@postgresql.org
Cc: Simon Riggs <simon@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>, Hiroyuki Yamada <yamada@kokolink.net>
Date: 2010-01-20T10:48:49Z
Lists: pgsql-hackers
On Wednesday 20 January 2010 11:33:05 Simon Riggs wrote:
> On Wed, 2010-01-20 at 11:04 +0100, Andres Freund wrote:
> > On Wednesday 20 January 2010 10:52:24 Simon Riggs wrote:
> > > On Wed, 2010-01-20 at 10:45 +0100, Andres Freund wrote:
> > > > LWLockAcquire
> > > 
> > > I'm using spinlocks, not lwlocks.
> > 
> > CancelDBBackends which is used in SendRecoveryConflictWithBufferPin which
> > in turn used by CheckStandbyTimeout triggered by SIGALRM acquires the
> > lwlock.
> 
> Those are used in similar ways to deadlock detection.
But only if 
ImmediateInterruptOK && InterruptHoldoffCount == 0 && CritSectionCount == 0 - 
which is not the case with HoldingBufferPinThatDelaysRecovery.

Andres