Re: Potential G2-item cycles under serializable isolation - Mailing list pgsql-bugs

From Peter Geoghegan
Subject Re: Potential G2-item cycles under serializable isolation
Date
Msg-id CAH2-WzkR4qpHOcirynHd1=xoo05T6vYLSzYHV_GWU0wQysJU_A@mail.gmail.com
Whole thread Raw
In response to Re: Potential G2-item cycles under serializable isolation  (Kyle Kingsbury <aphyr@jepsen.io>)
Responses Re: Potential G2-item cycles under serializable isolation  (Peter Geoghegan <pg@bowt.ie>)
List pgsql-bugs
On Tue, Jun 2, 2020 at 9:58 AM Kyle Kingsbury <aphyr@jepsen.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



pgsql-bugs by date:

Previous
From: Kyle Kingsbury
Date:
Subject: Re: Potential G2-item cycles under serializable isolation
Next
From: Bruce Momjian
Date:
Subject: Re: BUG #16462: Update Statement destructive behaviour with joins