Re: BUG #17116: Assert failed in SerialSetActiveSerXmin() on commit of parallelized serializable transaction

Alexander Law <exclusion@gmail.com>

From: Alexander Lakhin <exclusion@gmail.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>, heikki.linnakangas@iki.fi, Kevin Grittner <kgrittn@gmail.com>
Date: 2022-01-09T17:00:00Z
Lists: pgsql-bugs
Hello Thomas,
30.07.2021 08:48, Thomas Munro wrote:
>>>> (Except for read-only-anomaly-3, that causes another
>>>> assertion fail but I believe that it's not related to the initial issue
>>>> and deserves another bug report.)
> The problem is that if we don't take the fast exit here:
You wouldn't mind if I file a separate bug report regarding the last
problem (not related to the initial bug report)?
Now I can propose a minimal reproduction for it, that can ease testing
and choosing the most appropriate fix.
As to v4-0001-Fix-assert-failures-in-parallel-SERIALIZABLE-READ.patch
you posted before, I believe it fixes the issues as expected and may be
committed at least to allow for advanced testing.

Best regards,
Alexander



Commits

  1. Fix race in SERIALIZABLE READ ONLY.

  2. Fix assert failures in parallel SERIALIZABLE READ ONLY.

  3. Fix SxactGlobalXmin tracking.

  4. There's a small window wherein a transaction is committed but not yet