Re: ANALYZE locks pg_listener in EXCLUSIVE for long - Mailing list pgsql-hackers

From Philip Warner
Subject Re: ANALYZE locks pg_listener in EXCLUSIVE for long
Date
Msg-id 6.1.0.6.0.20040503185352.0483cd58@203.8.195.10
Whole thread Raw
List pgsql-hackers
Further to this, ProcessIncomingNotify seems to hold the lock on the 
listener relation until it's current transaction exits. If the ANALYZE was 
not the source of the error, but was just another victim, does that mean it 
might hold the lock for a very long time if the analyze is lengthy?



At 02:54 PM 3/05/2004, Tom Lane wrote:
>Please dig deeper.

I may have found the problem; all the hung processes show 'async_notify 
waiting' in ps, and the ANALYZE eventually dies with 'tuple concurrently 
updated'.

The routine 'ProcessIncomingNotify' in async.c does indeed try to lock 
pg_listener (even if we're not using NOTIFY/LISTEN). Not sure why the 
ANALYZE is locking the relation, though...but it is locked in AccessShareLock.

I can send a log of my investigations if necessary.



----------------------------------------------------------------
Philip Warner                    |     __---_____
Albatross Consulting Pty. Ltd.   |----/       -  \
(A.B.N. 75 008 659 498)          |          /(@)   ______---_
Tel: (+61) 0500 83 82 81         |                 _________  \
Fax: (+61) 03 5330 3172          |                 ___________ |
Http://www.rhyme.com.au         |                /           \|                                 |    --________--
PGP key available upon request,  |  /
and from pgp.mit.edu:11371       |/  



pgsql-hackers by date:

Previous
From: Fabien COELHO
Date:
Subject: Re: inconsistent owners in newly created databases?
Next
From: Philip Warner
Date:
Subject: Re: ANALYZE locks pg_listener in EXCLUSIVE for long