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>
Date: 2021-07-27T21:00:00Z
Lists: pgsql-bugs
Hello Thomas,
27.07.2021 14:17, Thomas Munro wrote:
> Reproduced here using a similar approach.  It doesn't fail with this
> new draft patch.  The main thing I have learned is that
> serializable-parallel-2.sql isn't really testing a very interesting
> code path.  I'll try to come up with a better test.
Thanks! With the new fix applied, my multiple installcheck test survives
100+ iterations. (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.)

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