Re: Serializable Isolation without blocking

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: <robertmhaas(at)gmail(dot)com>
Cc: <nicolas(dot)barbier(at)gmail(dot)com>,<gsstark(at)mit(dot)edu>, <pgsql-hackers(at)postgresql(dot)org>, <laurenz(dot)albe(at)wien(dot)gv(dot)at>
Subject: Re: Serializable Isolation without blocking
Date: 2010-01-01 00:45:37
Message-ID: 4B3CF151020000250002DC1F@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas wrote:

> What predicate locking? If you take ACCESS EXCLUSIVE locks on every
> read, that should serialize all access to every table. Predicate
> locking wouldn't do anything, because the table would be completely
> inaccessible to all competing transactions.

Yeah, that's the benefit of starting with the ACCESS EXCLUSIVE locks,
but once I've confirmed that I've found all the places to get the
table level locks, the next step is to turn them into table level
SIREAD locks, and then to implement the SSI. Locking against
referenced objects is the only practical technique for implementing
predicate locking for production environments that I've seen.

The phase where I'm making each referenced table totally inaccessible
to all competing transaction should be pretty short-lived. It just
gives me an interim milestone to test that piece in isolation before
going on to use it; which is great, but not a place to stop for long.

Or have I totally misunderstood your suggestion?

-Kevin

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2010-01-01 01:15:39 Re: Serializable Isolation without blocking
Previous Message Robert Haas 2010-01-01 00:31:24 Re: Serializable Isolation without blocking