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-05T17:04:56Z
Lists: pgsql-bugs
On Fri, Jun 5, 2020 at 10:00 AM Kyle Kingsbury <aphyr@jepsen.io> wrote:
> After staring at a few hundred of these anomalies, I'm more confident: this
> problem seems to involve a transaction which fails to observe a logically prior
> transaction's *insert*. So far we never see a cycle involving all updates rw
> deps--there's always 2+ rw deps, and at least one involves the initial state.
> Maybe this helps narrow down the search!

It wouldn't be the first time there was such an anomaly:

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=585e2a3b

(You probably vaguely remember this as the bug that people were
talking about at Strange loop that same year.)

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