Re: Potential G2-item cycles under serializable isolation
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Kyle Kingsbury <aphyr@jepsen.io>, Peter Geoghegan <pg@bowt.ie>, Kevin Grittner <kgrittn@gmail.com>, Jeff Davis <pgsql@j-davis.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2020-06-11T19:47:58Z
Lists: pgsql-bugs
On 2020-06-11 12:30:23 -0700, Andres Freund wrote: > Hi, > > On 2020-06-11 17:40:55 +1200, Thomas Munro wrote: > > + <para> > > + The Repeatable Read isolation level is implemented using a technique > > + known in academic database literature and in some other database products > > + as <firstterm>Snapshot Isolation</firstterm>. Differences in behavior > > + may be observed when compared with systems using other implementation > > + techniques. For a full treatment, please see > > + <xref linkend="berenson95"/>. > > + </para> > > Could it be worthwhile to narrow the "differences in behaviour" bit to > read-write transactions? IME the biggest reason people explicitly use RR > over RC is to avoid phantom reads in read-only transactions. Seems nicer > to not force users to read an academic paper to figure that out? But, on second thought, it might be too difficult to phrase this concisely and correctly, given the annoying issue of SI allowing for read-only transactions to observe violations of serializability. I don't think that's a RR violation, but maybe it could be understood as being about serializability too easily?
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