| From: | hariprasath nallasamy <hariprasathnallasamy(at)gmail(dot)com> |
|---|---|
| To: | Julien Rouhaud <julien(dot)rouhaud(at)dalibo(dot)com> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: too may LWLocks |
| Date: | 2017-03-09 05:25:36 |
| Message-ID: | CAGgejVw3iwK6qBHrfRXVy8Utg9Uo_tEovM=-LmOu5g_jZHtfhg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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(dot)rouhaud(at)dalibo(dot)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
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2017-03-09 05:28:16 | Re: Unable to start postgresql |
| Previous Message | John Iliffe | 2017-03-09 05:09:00 | Re: Unable to start postgresql |