Re: Potential G2-item cycles under serializable isolation

From: Kyle Kingsbury <aphyr(at)jepsen(dot)io>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Peter Geoghegan <pg(at)bowt(dot)ie>, Andres Freund <andres(at)anarazel(dot)de>, Kevin Grittner <kgrittn(at)gmail(dot)com>, Jeff Davis <pgsql(at)j-davis(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: Potential G2-item cycles under serializable isolation
Date: 2020-06-11 12:39:13
Message-ID: 16b323b2-dfdb-a4c4-fd9d-7b81e52c2375@jepsen.io
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 6/11/20 1:40 AM, Thomas Munro wrote:
> What do you think about this documentation update?

I think this is really helpful! You can go a little further if you like. Right
now, SSI vs serializable and SI vs RR are both described as "differences in
behavior", which kinda leaves it unclear as to how those levels are related. If
you want to follow Berenson, Adya, et al.'s broad interpretation, I'd say
something like

"Snapshot isolation prevents some anomalies, like phantoms, which repeatable
read allows. It also allows some anomalies, like G2-item (write skew), which
repeatable read prevents."

... and if you like, you could follow that with a discussion of how SI, thanks
to ambiguity in the ANSI specification, could also be interpreted as stronger
than RR. If you stick with the strict interpretation, I'd add a note here about
how readers familiar with the SI literature might be confused, and that you're
diverging from Berenson et al., but your position is defensible under the spec.

"Serializable Snapshot Isolation is stronger than serializability: it allows
only serializable histories--and prohibits some additional histories in addition."

If you wanna talk about the performance rationale, that's valid too. :)

--Kyle

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Kyotaro Horiguchi 2020-06-11 13:17:26 Re: BUG #16476: pgp_sym_encrypt_bytea with compress-level=6 : Wrong key or corrupt data
Previous Message Kyotaro Horiguchi 2020-06-11 11:58:31 Re: BUG #16476: pgp_sym_encrypt_bytea with compress-level=6 : Wrong key or corrupt data