Re: SSI: A patch for a Serializability violation

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: Vaijayanti Bharadwaj <vaijayanti(dot)bharadwaj(at)enterprisedb(dot)com>
Cc: pgsql-hackers mailing list <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: SSI: A patch for a Serializability violation
Date: 2026-08-31 08:07:18
Message-ID: 84AA5B50-06F5-4FD6-84CC-88477710AA5C@yandex-team.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Vaijayanti,

Jacob reported what looks like the same bug earlier [0], and I sent a
tentative commitSeqNo-based fix in that thread.

Your patch made me notice a case which we did not consider there: imported
serializable snapshots. lastCommitBeforeSnapshot is recorded when the
snapshot is imported, while finishedBefore is compared with the imported
snapshot's xmin. The two approaches can therefore disagree about a reader
which commits between export and import. Your patch preserves the existing
non-summarized behavior in this case; mine does not.

Was this case part of your reasoning? It seems worth writing explicitly the
expected behavior here.

Thank you!

Best regards, Andrey Borodin.

[0] https://postgr.es/m/CA%2BCOZaCtK%3DUQbeQwdAoRw27J%2B58bJBC%2ByNHP4OH2%2By_t2UtFAg%40mail.gmail.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bertrand Drouvot 2026-08-31 08:19:10 pg_upgrade: Test --check with a running source server
Previous Message Michael Paquier 2026-08-31 08:07:00 Re: Routed ON CONFLICT inserts broken by partition-local deferrable unique constraints in 19 and master