On 01.08.2011 17:26, Simon Riggs wrote:
On Mon, Aug 1, 2011 at 2:29 PM, Heikki Linnakangas
<heikki.linnakan...@enterprisedb.com>  wrote:
I believe we code acquire the locks in right order already, and the patch I
posted fixes the premature release of locks at page split.

Your patch is good, but it does rely on the idea that we're logging
the blocks in the same order they were originally locked. That's a
good assumption, but I would like to see that documented for general
sanity, or just mine at least.

I can't really see anything in the master-side code that attempts to
lock things in a specific sequence, which bothers me also.

All but the first page are unused pages, grabbed with either P_NEW or from the FSM. gistNewBuffer() uses ConditionalLockBuffer() to guard for the case that someone else chooses the same victim buffer, and picks another page.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to