Re: [GENERAL] too may LWLocks - Mailing list pgsql-general

From hariprasath nallasamy
Subject Re: [GENERAL] too may LWLocks
Date
Msg-id CAGgejVw3iwK6qBHrfRXVy8Utg9Uo_tEovM=-LmOu5g_jZHtfhg@mail.gmail.com
Whole thread Raw
In response to Re: [GENERAL] too may LWLocks  (Julien Rouhaud <julien.rouhaud@dalibo.com>)
List pgsql-general
oops its my bad implementation.. I was leaking locks and its fixed now. Thanks for the help!

-harry

On Thu, Mar 9, 2017 at 1:07 AM, Julien Rouhaud <julien.rouhaud@dalibo.com> wrote:
On Wed, Mar 08, 2017 at 03:34:56PM +0530, hariprasath nallasamy wrote:
> Hi all
> I am building an extension using shared memory hash table and for locking
> hash table i am using LWLocks, but the thing was when i try to run some 1k
> queries one after other, for each query i am getting one LWLock but on
> executing 200th query i am getting the error *ERROR:  too many LWLocks
> taken*.
>
> But in each query i acquire and release that block. So that lock has to be
> flushed after executing query, but why am i getting this error.?
>
> Is this due to *held_lwlocks *in LWLock.c is fixed only to some number 200
> here.
> Or am i missing something here.?

The most likely reason is that you have some code path in your extension where
you don't release the LWLock.  Without access to the code we can't do much more
to help you I'm afraid.  You could also try on a postgres build having
LWLOCK_STATS defined.

--
Julien Rouhaud
http://dalibo.com - http://dalibo.org

pgsql-general by date:

Previous
From: John Iliffe
Date:
Subject: Re: [GENERAL] Unable to start postgresql
Next
From: Tom Lane
Date:
Subject: Re: [GENERAL] Unable to start postgresql