Re: Shared row locking - Mailing list pgsql-hackers

From Gavin Sherry
Subject Re: Shared row locking
Date
Msg-id Pine.LNX.4.58.0412201816570.12041@linuxworld.com.au
Whole thread Raw
In response to Re: Shared row locking  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Shared row locking
Re: Shared row locking
List pgsql-hackers
On Sat, 18 Dec 2004, Bruce Momjian wrote:

> BTom Lane wrote:
> > Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > > You mean all empty/zero rows can be removed?  Can we guarantee that on
> > > commit we can clean up the bitmap?  If not the idea doesn't work.
> >
> > For whatever data structure we use, we may reset the structure to empty
> > during backend-crash recovery.  So your objection boils down to "what if
> > a backend exits normally but forgets to clean up its locks?"  Assuming
> > that doesn't happen isn't any worse than assuming a backend will clean
> > up its shared memory state on non-crash exit, so I don't think it's a
> > serious concern.
> >
> > That brings another thought: really what this is all about is working
> > around the fact that the standard lock manager can only cope with a
> > finite number of coexisting locks, because it's working in a fixed-size
> > shared memory arena.  Maybe we should instead think about ways to allow
> > the existing lock table to spill to disk when it gets too big.  That
> > would eliminate max_locks_per_transaction as a source of hard failures,
> > which would be a nice benefit.
>
> Agreed. Once concern I have about allowing the lock table to spill to
> disk is that a large number of FOR UPDATE locks could push out lock
> entries used by other backends, causing very poor performance.

I think if we allow the lock manager to spill to disk (and I think we do
need to allow it) then we should also be able to control the amount of
shared memory allocated. There's little point spilling the lock table to
disk if we have huge amounts of memory.

Gavin


pgsql-hackers by date:

Previous
From: Sibtay Abbas
Date:
Subject: yyin's value of postgresql parser
Next
From: Simon Riggs
Date:
Subject: Re: bgwriter changes