If we want to tell the timeout issue, it still need to add more states. But ZhangLei showed us a fantastical document for checking the states of Saga use case.
Willem Jiang Twitter: willemjiang Weibo: 姜宁willem On Tue, May 14, 2019 at 3:49 PM Zheng Feng <zh.f...@gmail.com> wrote: > > Thanks Zhang Lei - it is really great work ! > > I think we could describe every event and state with more details, e.g. > SagaStartedEvent: it is the event to start a global transaction > SagaEnededEvent: it is the event to close a global transaction > SagaAbortedEvent: it is the event to abort a global transaction and cause > the sub-transactions to do the compensate > SagaTimeoutEvent: it is the event to indicate the global transaction is > timeout and need the checking manually ? (I am not very if I understand > this event correctly) > > Also we could add the similar descriptions with the states. > SUSPEND, COMMITTED, COMPENSATED are the three final states, right ? > > Thanks again ! > Zheng Feng > > > Zhang Lei <zhang_...@boco.com.cn> 于2019年5月13日周一 下午11:50写道: > > > I wrote a preliminary design [1] based on wiki [2], , Maybe not perfect or > > something I don't know. > > > > Any suggestions? > > > > [1] > > https://github.com/coolbeevip/playground/blob/master/state_machine_demo/saga-akkafsm/README.md > > < > > https://github.com/coolbeevip/playground/blob/master/state_machine_demo/saga-akkafsm/README.md > > > > > [2] > > https://cwiki.apache.org/confluence/display/SERVICECOMB/Using+StateMachine+for+tracing+the+transaction+states > > < > > https://cwiki.apache.org/confluence/display/SERVICECOMB/Using+StateMachine+for+tracing+the+transaction+states > > > > > > > Lei Zhang