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
HEAD-v2-0001-Fix-assertion-failure-during-logical-decoding.patch
Description: HEAD-v2-0001-Fix-assertion-failure-during-logical-decoding.patch