On Fri, Feb 18, 2011 at 2:16 PM, Andrew Dunstan <and...@dunslane.net> wrote:
> I'm not quite sure where to start digging. Has anyone else seen
> something similar? Our consultant reports having seen a similar problem
> elsewhere, at a client who was running hot standby on 9.0.1, but the
> problem did not recur, as it does fairly regularly with this client.

I've seen a very similar backtrace that only involved one system (no
Hot Standby).  The problem in that case appears to have been an open
cursor holding a buffer pin.  LockBufferForCleanup() has logic that's
supposed to prevent that from going on too long during HS - it should
nuke the guy with the buffer in when the timeout expires - but maybe
there's a bug in that mechanism.

As a side matter, it would be good to improve this in the non-Hot
Standby case also.  An open cursor can tie down an autovacuum worker
forever, which is not a good thing, as it's easily possible for the
number of open cursors to be larger than the number of available
autovacuum workers...

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to