Re: Potential G2-item cycles under serializable isolation

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: Andres Freund <andres@anarazel.de>
Cc: Kevin Grittner <kgrittn@gmail.com>, Jeff Davis <pgsql@j-davis.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>, Kyle Kingsbury <aphyr@jepsen.io>
Date: 2020-06-11T01:10:25Z
Lists: pgsql-bugs

Attachments

On Mon, Jun 8, 2020 at 7:30 PM Peter Geoghegan <pg@bowt.ie> wrote:
> I'll try to write an isolationtester test tomorrow.

Attached is v3, which has an isolationtester test.

It also fixes an assertion failure that could happen in rare cases,
which was reported to me privately by Thomas. We now explicitly don't
go ahead with an XID when it precedes TransactionXmin.

I overstated the significance of the fact that the transaction aborts
in the case that we looked at. That isn't an essential part of the
anomaly. See the isolation test.

-- 
Peter Geoghegan

Commits

  1. Doc: Add references for SI and SSI.

  2. Improve comments for [Heap]CheckForSerializableConflictOut().

  3. Avoid update conflict out serialization anomalies.

  4. Implement genuine serializable isolation level.