Re: Potential G2-item cycles under serializable isolation

From: Kyle Kingsbury <aphyr(at)jepsen(dot)io>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: Potential G2-item cycles under serializable isolation
Date: 2020-06-01 04:05:19
Message-ID: CAMotZ_w2-bdQms+rFa-DA_vH+y7A=ky0Gmwu9Y81LT=2ge5TtQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Oh! Gosh, yes, that DOES explain it. Somehow I had it in my head that both
RU and RC mapped to SI, and RR & Serializable mapped to SSI. That's the
case in YugabyteDB, but not here!

I'll also see about getting a version of these tests that doesn't involve
ON CONFLICT, in case that's relevant.

--Kyle

On Sun, May 31, 2020, 23:56 Peter Geoghegan <pg(at)bowt(dot)ie> wrote:

> On Sun, May 31, 2020 at 8:37 PM Kyle Kingsbury <aphyr(at)jepsen(dot)io> wrote:
> > This looks so weird that I assume I've *got* to be doing it wrong, but
> trawling
> > through the source code and pcap trace, I can't see where the mistake
> is. Maybe
> > I'll have fresher eyes in the morning. :)
>
> READ COMMITTED starts each command within a transaction with its own
> snapshot, much like Oracle:
>
> https://www.postgresql.org/docs/devel/transaction-iso.html
>
> There cannot be serialization errors with READ COMMITTED mode, and in
> general it is a lot more permissive. Probably to the point where it
> isn't sensible to test with Jepsen at all.
>
> It would make sense for you to test REPEATABLE READ isolation level
> separately, though. It implements snapshot isolation without the added
> overhead of the mechanisms that prevent (or are supposed to prevent)
> serialization anomalies.
>
> --
> Peter Geoghegan
>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Thomas Munro 2020-06-01 04:19:16 Re: Potential G2-item cycles under serializable isolation
Previous Message Peter Geoghegan 2020-06-01 03:56:03 Re: Potential G2-item cycles under serializable isolation