Suppose there are two processes A and B. A process calls an interface provided
by B. When the TxAbortEvent is thrown, the compensation of B (CompB) is
supposed to be executed prior to the compensation of A(CompB).
------------ ------------
| Alpha | | Omega |
------------ <- ------------
| | |Process B |
------------ ------------
^ ^
| |
------------ | call
| Omega | |
------------ ---------
|Process A |
------------
At alpha, the tracing queue is expected to be
Expected
-------------------------------------
| A Start | A End | B Start | B End | Aborted
-------------------------------------
For some reason(e.g. network problem), however, the actual tracing queue looks
like this.
Actual:
-------------------------------------
| B Start | A Start | A End | B End | Aborted
-------------------------------------
In such situation, is CompA executed prior to CompB?