Skip site navigation (1) Skip section navigation (2)

Re: shared memory release following failed lock acquirement.

From: "Simon Riggs" <simon(at)2ndquadrant(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com>,<pgsql-hackers(at)postgresql(dot)org>
Subject: Re: shared memory release following failed lock acquirement.
Date: 2004-09-30 07:50:23
Message-ID: NOEFLCFHBPDAFHEIPGBOAEFACFAA.simon@2ndquadrant.com (view raw or flat)
Thread:
Lists: pgsql-hackers
>Tom Lane
> "Simon Riggs" <simon(at)2ndquadrant(dot)com> writes:
> > Does this mean that the parameter max_locks_per_transaction
> isn't honoured
> > at all, it is just used to size the lock table
>
> Yes, and that's how it's documented.
>

The name max_locks_per_transaction indicates a limit of some kind. The
documentation doesn't mention anything about whether that limit is enforced
or not.

I suggest the additional wording:
"This parameter is not a hard limit: No limit is enforced on the number of
locks in each transaction. System-wide, the total number of locks is limited
by the size of the lock table."

The recent patch stops the system from crashing with an out of memory
condition, though this probably slightly hastens the condition of "no locks"
available. It would be good to clarify what behaviour the system exhibits
when we run out of locks.

I'm not sure myself now what that behaviour is: My understanding is that we
do not perform lock escalation (as does DB2), so presumably we just grind to
a halt? I take it that there is no automated way of getting out of this
situation? i.e. the deadlock detector doesn't start killing transactions
that hold lots of locks to free up space? So, we would basically just start
to build up lots of people waiting on locks - though without any mechanism
for diagnosing this is happening? What does happen and where does it end
(now)?

Best Regards, Simon Riggs


In response to

pgsql-hackers by date

Next:From: Neil ConwayDate: 2004-09-30 09:07:27
Subject: profile-guided opt. w/ GCC
Previous:From: Michael MalleteDate: 2004-09-30 02:12:39
Subject: Fwd: error: unicode characters greater than or equal to 0x10000

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group