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