Re: Serializable Snapshot Isolation

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Kevin Grittner <Kevin.Grittner@wicourts.gov>
Cc: pgsql-hackers@postgresql.org, Dan Ports <drkp@csail.mit.edu>
Date: 2010-09-14T19:48:50Z
Lists: pgsql-hackers
On 14/09/10 19:34, Kevin Grittner wrote:
> Attached is the latest Serializable Snapshot Isolation (SSI) patch.

Great work! A year ago I thought it would be impossible to have a true 
serializable mode in PostgreSQL because of the way we do MVCC, and now 
we have a patch.

At a quick read-through, the code looks very tidy and clear now. Some 
comments:

Should add a citation to Cahill's work this is based on. Preferably with 
a hyperlink. A short description of how the predicate locks help to 
implement serializable mode would be nice too. I haven't read Cahill's 
papers, and I'm left wondering what the RW conflicts and dependencies 
are, when you're supposed to grab predicate locks etc.

If a page- or relation level SILOCK is taken, is it possible to get 
false conflicts? Ie. a transaction is rolled back because it modified a 
tuple on a page where some other transaction modified another tuple, 
even though there's no dependency between the two.

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