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: 'Amit Kapila' <amit.kapila16@gmail.com>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, "dilipbalaut@gmail.com" <dilipbalaut@gmail.com>, "osumi.takamichi@fujitsu.com" <osumi.takamichi@fujitsu.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2022-09-07T02:06:02Z
Lists: pgsql-hackers
Attachments
- HEAD-v2-0001-Fix-assertion-failure-during-logical-decoding.patch (application/octet-stream) patch v2-0001
Dear Amit,
Thanks for giving comments!
> Did you get this new assertion failure after you applied the patch for
> the first failure? Because otherwise, how can you reach it with the
> same test case?
The first failure is occurred only in the HEAD, so I did not applied the first patch
to REL14 and REL15.
This difference is caused because the commit [Fix catalog lookup...] in REL15(272248a) and older is different
from the HEAD one.
In order versions SnapBuildXidSetCatalogChanges() has been added. In the function
a transaction will be marked as containing catalog changes if the transaction is in InitialRunningXacts,
and after that the relation between sub-top transactions is assigned based on the parsed->subxact.
The marking avoids the first failure, but the assignment triggers new failure.
> About patch:
> else if (sub_needs_timetravel)
> {
> - /* track toplevel txn as well, subxact alone isn't meaningful */
> + elog(DEBUG2, "forced transaction %u to do timetravel due to one of
> its subtransaction",
> + xid);
> + needs_timetravel = true;
> SnapBuildAddCommittedTxn(builder, xid);
>
> Why did you remove the above comment? I think it still makes sense to retain it.
Fixed.
Best Regards,
Hayato Kuroda
FUJITSU LIMITED
Commits
-
Fix executing invalidation messages generated by subtransactions during decoding.
- 343afa967106 15.1 landed
- 4fbe6096b954 14.6 landed
- 38dbaaf27387 13.9 landed
- 02600886c8a8 12.13 landed
- 216af69aec0d 11.18 landed
-
Fix assertion failures while processing NEW_CID record in logical decoding.
- 64ff0fe4e8c4 15.1 landed
- a592ed923e67 14.6 landed
- 25f7be1ca236 13.9 landed
- 1bf4d92060ee 12.13 landed
- 5f7076cb609e 11.18 landed
- 10ed7b9e4b19 10.23 landed
- 16b1fe0037dc 16.0 landed