QNJR-GROUP / EasyTransaction

A distribute transaction solution(分布式事务) unified the usage of TCC , SAGA ,FMT (seata/fescar AutoCompensation), reliable message, compensate and so on;
Apache License 2.0
2.36k stars 809 forks source link

fix: 修复 rollback 类型日志对事务状态判断错误的问题 #150

Closed HasonHuang closed 4 years ago

HasonHuang commented 4 years ago

问题: 在获取主事务状态时,使用了 AfterCommit 判断是否 rollback 类型事务。

解决: 使用 AfterRollback 进行判断。

请教一个问题 设计 DemiRightContent 类型的事务内容目的是解决什么问题?

skyesx commented 4 years ago

这里确实写错了,但之前一直没发现,主要因为这里是个性能优化项。

如果事务回滚了的话,肯定找不到AfterCommit对应的日志。所以getFinalMasterTransStatus会走到getByApi的分值。

感谢PR。

skyesx commented 4 years ago

DemiLeftContent、DemiRightContent设计里在完整的事务里,一定会成对出现,如果日志里只有left没有right则代表事务不完整,需要补偿