I have yet other questions regarding compensation.
Could someone help me answer to them?
Suppose we have a process as below:
faultHandler F0 to catch T1
faultHandler F1 to catch T2
faultHandler F2 to catch T1
Further suppose that
S3 is successfully completed two times,
T2 throws a fault,
F1 catches the fault, and then
CA1 is executed.
What is expected to happen next is that CH1 is called twice,
once for each successful completion.
But what will happen if T1 throws a fault in the first
invocation of CH1?
Q1: Will there be the second invocation of CH1?
Q2: Will the fault be propagated to CA1 then to S2?
Or S3, S1 (FH uninstalled), then to P1?
In other words, which will catch T1, F2 or F0?