Hi, all

I have faced some HA issue when implementing TCC workflow, this is our design 
document [1].
HA issue is following.

1. Omega finished try logic, but sending participate event failed, how about 
the retry mechanisms should we design?
2. Omega finished try logic, but sending participate event failed, should omega 
invoke cancel method automatically?
3. Omega finished try logic, alpha received participate event and persistence 
success, but sending ACK to omega failed,
    should alpha do rollback automatically, when omega received failed 
feedback, also invoke cancel method automatically?
4. When sending TCCEnd event to alpha failed, how about alpha do compensation 
recovery? 
    Maybe event scanner is necessary for this scenario to do recovery, but we 
need to do detail design for this.
5. If we introduce event scanner, how to handle  concurrency from TCCEnd 
command?

Please feel free to give some advices.

[1]
https://github.com/apache/incubator-servicecomb-saga/blob/master/docs/design.md#workflow-tcc
 
<https://github.com/apache/incubator-servicecomb-saga/blob/master/docs/design.md#workflow-tcc>


Best Wishes & Regards

Reply via email to