whitemeng

Results 7 comments of whitemeng

> 你的cancel方法中sleep了10秒,但是你在 @Compensable 中声明了cancel方法5秒的调用超时 對不起,我不太懂您的意思,能否再詳細說明一下,感謝 !

> > > 你的cancel方法中sleep了10秒,但是你在 @Compensable 中声明了cancel方法5秒的调用超时 > > > > > > 對不起,我不太懂您的意思,能否再詳細說明一下,感謝 ! > > 我又看了一下,也不太敢确定,你可以提供一下你自己服务端更详细的错误日志吗 serviceA 程式碼 ![image](https://user-images.githubusercontent.com/47801046/68563180-adba8680-0487-11ea-83bb-7a7146e5865e.png) serviceB 程式碼 ![image](https://user-images.githubusercontent.com/47801046/68563235-d2166300-0487-11ea-9f95-9233bead1372.png) 測試場景: serviceB 會因為超時而執行補償呼叫 cancel() serviceB 詳細 console...

> 我觉得Cancel方法返回参数应该影响。 感謝各位的指導,但補償不是必須滿足幕等的條件嗎 ? 那該怎麼設計補償呢 ? 謝謝

測試把返回參數取消 ![image](https://user-images.githubusercontent.com/47801046/68574991-1dd80500-04a6-11ea-811e-6a341418087e.png) serviceB 的 console log 如下,依然會重新連 alpha-server 2019-11-11 17:08:32.265 DEBUG 11860 --- [nio-9001-exec-1] o.a.s.p.o.transaction.TransactionAspect : Updated context OmegaContext{globalTxId=97425bdb-ecf1-4b92-b381-56c69a8186d4, localTxId=c5a38362-3c99-4982-a0d9-b81f817cb2c0, alphaFeatureAkkaEnabled=false} for compensable method public void com.example.microserviceB.service.BasicService.getNames() 2019-11-11 17:08:32.270 DEBUG...

> @whitemeng 有包含所有代码及配置文件的工程可以共享吗?这样可以方便我们在本地重现这个错误。 alpha-server 0.6.0 非狀態機模式 感謝 ! [saga.zip](https://github.com/apache/servicecomb-pack/files/3830796/saga.zip)

> 感谢你的报告 > > 我不太确定你说的补偿操作异常后omega只打印日志是什么,另外我看了一下源代码中 https://github.com/apache/servicecomb-pack/blob/a89c7cd8b416c9b281fdbe28644cb6b7e2e78f91/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/CompensationMessageHandler.java 中如果补偿方法抛出异常是不会发送TxCompensatedEvent事件的。 > > 你能提供更详细的信息吗?例如: > > 1. 你使用的版本 > 2. Alpha部署的模式(基于DB还是状态机,或者启动参数) > 3. 你是如何使用Saga注解的,服务之间方法的调用顺序,例如: > 三个服务 A,B,C > A.m1->B.m1 > A.m1->C.m1(此方法失败) > 4. 这笔全局事务在...

> > alpha 基於 db 或 狀態機 部屬,這兩個差異在哪? > > 状态机模式底层基于Akka,在集群部署的时候可以基于服务分片获取更好的性能,另外在事务终止后事务的数据会存储到ES中,同时提供了一个新的UI可以进行查看。 > > > alpha 要如何配置為狀態機模式 ? > > 0.5.0版本的时候需要在alpha和omega启动的时候都增加 `alpha.feature.akka.enabled=true` 参数,当前主干的 0.6.0版本则不需要在 omega端加这个参数,具体细节你可以看 https://github.com/apache/servicecomb-pack/blob/master/docs/fsm/fsm_manual.md > > > 狀態機模式是否就不需要 db...