Re: Serializable Isolation without blocking

Поиск
Список
Период
Сортировка
От Kevin Grittner
Тема Re: Serializable Isolation without blocking
Дата
Msg-id 4B46F69D020000250002E04D@gw.wicourts.gov
обсуждение исходный текст
Ответ на Re: Serializable Isolation without blocking  (Markus Wanner <markus@bluegap.ch>)
Ответы Re: Serializable Isolation without blocking  (Markus Wanner <markus@bluegap.ch>)
Список pgsql-hackers
Markus Wanner <markus@bluegap.ch> wrote:
> Greg Stark wrote:
> That's about predicate locks. I've been talking about SIREAD,
> which is a different thing (and which I don't consider to be a
> lock). The SIREAD thingie certainly doesn't help implement
> predicate locks. And predicate locking isn't necessarily
> sufficient to implement truly serializable isolation.
SIREAD locks need to be acquired according to the exact same rules
as "normal" read locks in predicate locking schemes.  We're just
using a lock level where the set of locks which conflict with it is
empty.  ;-)  Predicate locking is clearly necessary and clearly not
sufficient to implement serializable isolation.  Was some part of
the Cahill paper unclear on that?
>> That's the hard part. How do you represent such a lock in a way
>> that I can efficiently find it and check for the conflict when it
>> comes time for me to do my insert.
> 
> As it's not really a lock, but rather a mark or a tag, SIREAD may
> or may not be implemented atop existing or non-existent locking
> structures, IMO.
Well, the development plan calls for it to start there.  Whether a
better way is found during optimization is anybody's guess at this
point.
> I've made my points about implementing SIREAD atop table level or
> row level locking structures. With (non-existent) predicate
> locking, I'm still unsure. It might help to implement SIREAD atop
> such a predicate as well. Predicate tagging?
It seems both respectful and less confusing to adopt the terminology
of those who developed SSI techniques.  I could invent new terms for
"vulnerable edges", "dangerous structures", "pivots" and such which
are used in the relevant literature.  But I won't.  It would just
serve to confuse those who have spent the time to read and
understand the literature.
I'm not quite sure I followed what you were getting at with the
"(non-existent) predicate locking" phrase -- was that just an
acknowledgment that it is exactly what is under development and, as
such, doesn't yet exist; or were you getting at something else?
-Kevin


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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: Add .gitignore files to CVS?
Следующее
От: "Kevin Grittner"
Дата:
Сообщение: Re: Serializable Isolation without blocking