Re: Preliminary notes about hash index concurrency (long)

From: Greg Stark <gsstark(at)mit(dot)edu>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Preliminary notes about hash index concurrency (long)
Date: 2003-09-01 15:05:16
Message-ID: 873cfgh7mb.fsf@stark.dyndns.tv
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:

> If multiple inserters failed to split, the index might still be overfull,
> but eventually, the index will not be overfull and split attempts will stop.
> (We could make a successful splitter loop to see if the index is still
> overfull, but I think I prefer distributing the split overhead across
> successive insertions.)

If one backend is executing a query but the client has paused reading records,
is it possible the shared lock on the index bucket would be held for a long
time?

If so wouldn't it be possible for an arbitrarily large number of records to be
inserted while the lock is held, eventually causing the bucket to become
extremely large? Is there a maximum size at which the bucket split MUST
succeed or is it purely a performance issue that the buckets be reasonably
balanced?

--
greg

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2003-09-01 15:18:13 array constructor can't construct empty array
Previous Message Greg Stark 2003-09-01 14:50:24 Re: Unixware Patch (Was: Re: Beta2 Tag'd and Bundled ...)