When the interposed transaction has completed (either committed or rolled back) it is informed via after_completion of the status of the global (parent) transaction. The two statuses should be the same. Only in exceptional (i.e., heuristic) cases should they be different. For example the subordinate did what it was initially instructed to by the parent during the second phase of the commit protocol, but the parent then went and did something different, or the subordinate made an autonomous choice.