Hi, I wonder how we can diff the "Omega compensation failure" from the "Business compensation failure" ? the different exception classes ?
Zhang Lei <coolbee...@gmail.com> 于2019年11月25日周一 下午5:32写道: > Hi, Pack Team > > Currently, Alpha compensation mechanism has some defects [1], I plan to > solve this problem step by step [2] > > Step1: Modify the OnConnected method to bidirectional streaming RPC > > This will be needed for the Step2 > > Step2: Custom compensation exception rules to distinguish between business > compensation exceptions and framework compensation exceptions for FSM. > > After calling the compensation method, Alpha needs to wait for > Omega to send a compensation result message. The message type is as > follows: > > Successful compensation: > Business compensation failure:business code throws an exception, > Do not switch Omega instance and retry(Retry rule is implemented in the > Step3) > Omega compensation failure: omega code throws an exception, > switch other Omega instance and retry(Retry rule is implemented in the > Step3) > > > Step3. Added retry and timeout rule to compensate for failures > > Exceeded the number of retries or timeout will change state to > suspended > > Any Suggestion? > > [1] https://github.com/apache/servicecomb-pack/issues/590 > [2] https://github.com/apache/servicecomb-pack/pull/607 > > Best regards, > Lei Zhang > > > Best regards, > Lei Zhang >