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

Attachment: HEAD-v2-0001-Fix-assertion-failure-during-logical-decoding.patch
Description: HEAD-v2-0001-Fix-assertion-failure-during-logical-decoding.patch

Reply via email to