Re: Potential G2-item cycles under serializable isolation

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: Thomas Munro <thomas.munro@gmail.com>
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-09T02:12:05Z
Lists: pgsql-bugs
On Mon, Jun 8, 2020 at 7:07 PM Peter Geoghegan <pg@bowt.ie> wrote:
> Right. I think that you can go ahead and change it without further input here.

Also, is it necessary to have the TransactionIdEquals() tests in both
HeapCheckForSerializableConflictOut() and
CheckForSerializableConflictOut()? Apart from anything else, the test
in HeapCheckForSerializableConflictOut() occurs before we establish
the topmost XID -- it could be a subxid, in which case the test is
wrong. Though it doesn't actually matter on account of the redundancy,
IIUC.

-- 
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.