Re: Serializable Snapshot Isolation

Поиск
Список
Период
Сортировка
От Kevin Grittner
Тема Re: Serializable Snapshot Isolation
Дата
Msg-id 4C8FA7AC02000025000356ED@gw.wicourts.gov
обсуждение исходный текст
Ответ на Re: Serializable Snapshot Isolation  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Ответы Re: Serializable Snapshot Isolation  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Список pgsql-hackers
I've been thinking about these points, and reconsidered somewhat.

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> wrote:
> Should add a citation to Cahill's work this is based on.
> Preferably with a hyperlink.
I've been thinking that this should be mentioned in both the README
and the source code.
> 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.
Again -- why be stingy?  Given a more complete README file, how
about something like?:
/** A rw-conflict occurs when a read by one serializable transaction* does not see the write of a concurrent
serializabletransaction* when that write would have been visible had the writing* transaction committed before the
startof the reading* transaction. When the write occurs first, the read can detect* this conflict by examining the MVCC
information. When the read* occurs first, it must record this somewhere so that writes can* check for a conflict.
Predicatelocks are used for this. * Detection of such a conflict does not cause blocking, and does* not, in itself,
causea transaction rollback.** Transaction rollback is required when one transaction (called a* "pivot") has a
rw-conflict*in* (a concurrent transaction* couldn't see its write) as well as *out* (it couldn't see the* write of
anothertransaction).  In addition, the transaction on* the "out" side of the pivot must commit first, and if the*
transactionon the "in" side of the pivot is read-only, it must* acquire its snapshot after the successful commit of
the*transaction on the "out" side of the pivot.*/
 
Would something like that have helped?
-Kevin


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Thom Brown
Дата:
Сообщение: Re: Sync Replication with transaction-controlled durability
Следующее
От: Florent Guillaume
Дата:
Сообщение: phrase search