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

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>, heikki.linnakangas@iki.fi, Kevin Grittner <kgrittn@gmail.com>
Date: 2022-01-15T05:41:42Z
Lists: pgsql-bugs
On Mon, Jan 10, 2022 at 6:00 AM Alexander Lakhin <exclusion@gmail.com> wrote:
> 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.

Thanks!  Yeah, please go ahead.

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

Cool, I'll do that in the next few days.  Need to swap SERIALIZABLE
back into my neurons after some time away...



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