RE: test_decoding assertion failure for the loss of top-sub transaction relationship

Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>

From: "kuroda.hayato@fujitsu.com" <kuroda.hayato@fujitsu.com>
To: "'pgsql-hackers@lists.postgresql.org'" <pgsql-hackers@lists.postgresql.org>
Cc: "osumi.takamichi@fujitsu.com" <osumi.takamichi@fujitsu.com>
Date: 2022-09-02T01:08:04Z
Lists: pgsql-hackers

Attachments

Hi Hackers,

> Therefore, this leads to the failure for the assert that can check
> the consistency that when one sub transaction modifies the catalog,
> its top transaction should be marked so as well.
> 
> I feel we need to remember the relationship between top transaction and sub
> transaction
> in the serialized snapshot even before changing catalog at decoding
> RUNNING_XACT,
> so that we can keep track of the association after the restart. What do you think ?

PSA patch that fixes the failure.
This adds pairs of sub-top transactions to the SnapBuild, and it will be serialized and restored.
The pair will be checked when we mark the ReorderBufferTXN as RBTXN_HAS_CATALOG_CHANGES.

Thanks to off-list discussion with Osumi-san.

Best Regards,
Hayato Kuroda
FUJITSU LIMITED

Commits

  1. Fix executing invalidation messages generated by subtransactions during decoding.

  2. Fix assertion failures while processing NEW_CID record in logical decoding.