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

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: Serializable Isolation without blocking


  • From: Robert Haas <robertmhaas(at)gmail(dot)com>
  • To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
  • 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: Thu, 31 Dec 2009 20:15:39 -0500
  • Message-id: <603c8f070912311715m24cb8e59r7e91a74212c853f2@mail.gmail.com> <text/plain>

On Thu, Dec 31, 2009 at 7:45 PM, Kevin Grittner
<Kevin(dot)Grittner(at)wicourts(dot)gov> wrote:
> 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?

Nope, you're on target.  Although - if I were you - I would post the
ACCESS EXCLUSIVE lock version of the patch for feedback.  I can't
speak for anyone else, but I'll read it.

(Just clearly label it as what it is, of course.)

...Robert



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group