Willem Jiang
Willem Jiang
如果Alpha找不到Omega的连接说明这个连接已经断开了,如果Omega重连的话是会重新建立连接的。如果Omega一直连接不上, Alpha尝试失败也是正常的。
Can I know which version of Saga are you using? I just went through the code, maybe we need to find the distinct timeout events here.
How did you start the Alpha Server? We may hit the same issue of #158, we may resolve the issue by starting only one scanner.
Can you try the latest released pack 0.4.0 which has the server side cluster? There is only one event scanner started as a master in the cluster, if the master...
It looks like there are two timeout message are sent to alpha. We [introduce state machine of Saga](https://github.com/apache/servicecomb-pack/blob/master/docs/fsm/how_to_use_fsm.md) in 0.5.0. And we just cut [a release candidate](https://repository.apache.org/content/repositories/orgapacheservicecomb-1401 ), please feel...
0.6版本发布之前是经过集成测试和验收测试的, 由于我们无法接触到用户的生产环境,我们只能提供社区层面的支持。 需要用户在上生产环境之前进行完备的POC测试, 如果在测试和使用过程中发现问题,请提交issue,我们会及时处理的。
0.6 版本早就发布了, 只是没有在github上面release 发布。 现在发布信息已更新: https://github.com/apache/servicecomb-pack/releases/tag/0.6.0
因为TimeoutProb检测出调用超时了,触发了InterruptedException, 但是由于这个Exception被吃到了,(RecoveryPolicyTimeoutWrapper 需要根据InterruptedException 做一些处理)导致后续处理出现问题。 2019-11-11 13:29:57.868 WARN 9180 --- [ probe] o.a.s.p.o.t.wrapper.TimeoutProb : Thread interrupted on 5001ms timeout (over 5000ms) 建议把 ServiceB 中getNames() 方法中的 catch(InterruptedException e) 的代码去掉再跑一下看看。
我觉得Cancel方法返回参数应该不会有影响。
> > 我觉得Cancel方法返回参数应该影响。 > > 感謝各位的指導,但補償不是必須滿足幕等的條件嗎 ? > 那該怎麼設計補償呢 ? > 謝謝 大概有两种方式实现: 1. 补偿可以通过软删除的方式,通过设置cancel值来进行。具体可以参加我们的[demo](https://github.com/apache/servicecomb-pack/tree/master/demo/saga-spring-demo) 2. 这块可以通过全局事务ID和本地事务ID作为Key 在数据库中做相关的判断。 一般来说我们可以把事务执行的上下文存储到数据库中, 在恢复的过程中通过读取这些上下文进行相关的恢复。如果已经恢复成功,则不需要修改原始数据。