Re: Potential G2-item cycles under serializable isolation

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Kyle Kingsbury <aphyr(at)jepsen(dot)io>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: Potential G2-item cycles under serializable isolation
Date: 2020-06-02 17:24:51
Message-ID: CAH2-WzkR4qpHOcirynHd1=xoo05T6vYLSzYHV_GWU0wQysJU_A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Jun 2, 2020 at 9:58 AM Kyle Kingsbury <aphyr(at)jepsen(dot)io> wrote:
> No worries! Is it still important that I check this behavior with 9.x as well?

I asked about 9.5 because I think that it's possible (though not
particularly likely) that some of the B-Tree indexing work that went
into Postgres 12 is a factor (predicate locks can be taken against
individual leaf pages, and the way that that works changed slightly).
SSI was verified using extensive stress tests during its initial
development (by Dan Ports), so it's not inconceivable that there was
some kind of subtle regression since that time. That's just a guess,
but it would be nice to eliminate it as a theory.

I'd be surprised if your existing test cases needed any adjustment. My
guess is that this won't take long.

> So... just to confirm, Postgres *did* go along with the anomaly interpretation,
> rather than the strict interpretation? It's just weird cuz, like... the Postgres
> docs act like SI is stronger than RR, but Berenson et al are pretty clear that's
> not how they see it!

I wasn't involved in the decision making process that led to that, and
it's possible that those that were weren't even aware of the paper. It
was necessary to shoehorn SSI/true serializability into the existing
isolation levels for compatibility reasons, and those were always
based on the anomaly interpretation.

--
Peter Geoghegan

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2020-06-02 17:52:02 Re: BUG #16462: Update Statement destructive behaviour with joins
Previous Message Kyle Kingsbury 2020-06-02 16:58:01 Re: Potential G2-item cycles under serializable isolation