On Fri, 2008-11-28 at 11:44 -0500, Tom Lane wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
> > On Fri, 2008-11-28 at 11:14 -0500, Tom Lane wrote:
> >> The sinval queue is an *utterly* inappropriate
> >> mechanism for such a thing.
>
> > To be honest, it did seem quite a neat solution. Any particular
> > direction of thought you'd like me to pursue instead?
>
> I hadn't been following the discussion closely enough to know what the
> problem is.
When we replay an AccessExclusiveLock on the standby we need to kick off
any current lock holders, after a configurable grace period. Current
lock holders may include some read-only backends that are
idle-in-transaction. SIGINT, which is what the current patch uses, is
not sufficient to dislodge the idle backends.
So we need to send a signal to the idle backends and then have them
react. We could use a multi-meaning approach for SIGUSR1 as we do for
pmsignal, or ...
-- Simon Riggs www.2ndQuadrant.comPostgreSQL Training, Services and Support