Re: Potential G2-item cycles under serializable isolation

Kyle Kingsbury <aphyr@jepsen.io>

From: Kyle Kingsbury <aphyr@jepsen.io>
To: Thomas Munro <thomas.munro@gmail.com>, Peter Geoghegan <pg@bowt.ie>
Cc: Andres Freund <andres@anarazel.de>, Kevin Grittner <kgrittn@gmail.com>, Jeff Davis <pgsql@j-davis.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2020-06-15T12:42:38Z
Lists: pgsql-bugs
On 6/14/20 9:30 PM, Thomas Munro wrote:
> By my reading of their manual, MySQL (assuming InnoDB) uses SI for
> REPEATABLE READ just like us, and it's also their default level.
>
> https://dev.mysql.com/doc/refman/8.0/en/innodb-consistent-read.html

That can't be right. MySQL repeatable read allows lost update, write skew, and 
at least some kinds of read skew: it's got to be weaker than SI and also weaker 
than RR. I think it's actually Monotonic Atomic View plus some read-only 
constraints?

https://github.com/ept/hermitage

<sigh> I really gotta do a report on MySQL too...

--Kyle




Commits

  1. Doc: Add references for SI and SSI.

  2. Improve comments for [Heap]CheckForSerializableConflictOut().

  3. Avoid update conflict out serialization anomalies.

  4. Implement genuine serializable isolation level.