Re: Potential G2-item cycles under serializable isolation
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Kyle Kingsbury <aphyr@jepsen.io>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2020-06-02T17:24:51Z
Lists: 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
Commits
-
Doc: Add references for SI and SSI.
- 4c897197d793 9.5.23 landed
- 7295ac9c6c71 9.6.19 landed
- e2aca0d02d97 10.14 landed
- 648e56d3984d 11.9 landed
- eb1286413c0a 12.4 landed
- 4701efa9f741 13.0 landed
- 1575fbf1ac3c 14.0 landed
-
Improve comments for [Heap]CheckForSerializableConflictOut().
- 44eff2841059 13.0 landed
- 7aa4fb592530 14.0 landed
-
Avoid update conflict out serialization anomalies.
- 5940ffb22131 14.0 landed
- 6df7105e5d50 13.0 landed
- e620a38c23b9 12.4 landed
- dd616f2ec1c5 11.9 landed
- 19a6e1bc3083 10.14 landed
- e81dc2b7e2c4 9.6.19 landed
- c05f6b354ffe 9.5.23 landed
-
Implement genuine serializable isolation level.
- dafaa3efb75c 9.1.0 cited