Re: too may LWLocks

From: Julien Rouhaud <julien(dot)rouhaud(at)dalibo(dot)com>
To: hariprasath nallasamy <hariprasathnallasamy(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: too may LWLocks
Date: 2017-03-08 19:37:52
Message-ID: 20170308193752.GC15188@nol.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2017-03-08 20:13:29 Re: Unable to start postgresql
Previous Message Adrian Klaver 2017-03-08 18:34:18 Re: Unable to start postgresql