tx-lcn icon indicating copy to clipboard operation
tx-lcn copied to clipboard

集群的情况下部分子事务提交失败

Open Abaneo opened this issue 5 years ago • 11 comments

  • [x] I have searched the issues of this repository and believe that this is not a duplicate.

1. Bug Description

业务服务每个两台,tm只有一台,提交数据时,日志正常,但是会有部分事务没有成功。不集群的情况下并不会发生该问题 . 失败的事务可能是发起方,也可能是子事务.

我更改过改源码, 主要是负载均衡不支持1.5.0 下eureka的问题, 但我想这应该不会导致上述问题.

Abaneo avatar Apr 17 '19 08:04 Abaneo

我也遇到这个问题了。。都上生产了。。我靠 压力山大。。。我这边是发起方入库了,调用方没有入库。。。也是业务服务每个两台,tm只有一台。启动服务时候是好的,跑一段时间后,报错 :LcnTransactionCleanService : Non lcn connection when clear transaction. @1991wangliang 大佬帮看看什么问题。。上生产了。。很急

liubo988 avatar Apr 17 '19 09:04 liubo988

文档有点少,得看源码了,不行就不能用了T_T

Abaneo avatar Apr 17 '19 09:04 Abaneo

初步定为到发起方通知tm失败

Abaneo avatar Apr 18 '19 09:04 Abaneo

问题1: 事务结束后,tm只通知了集群中的一台机器,可能会导致部分事务提交不了

Abaneo avatar Apr 19 '19 07:04 Abaneo

问题2:负载均衡问题,a->b,a->c,c->b , b修改的数据是同一条,可能会发生死锁,以及超时问题

Abaneo avatar Apr 19 '19 07:04 Abaneo

问题3:超时问题,由问题2延伸得到。子事务时间较长,导致发起事务超时,根据逻辑,发起者不会通知tm,但可能会正常提交,子事务询问事务状态是失败并回滚,导致事务不一致

Abaneo avatar Apr 19 '19 07:04 Abaneo

我也遇到这个问题了。。都上生产了。。我靠 压力山大。。。我这边是发起方入库了,调用方没有入库。。。也是业务服务每个两台,tm只有一台。启动服务时候是好的,跑一段时间后,报错 :LcnTransactionCleanService : Non lcn connection when clear transaction. @1991wangliang 大佬帮看看什么问题。。上生产了。。很急

问题解决了吗? MessageDto respMsg = rpcClient.request(modChannelKeys.get(0), MessageCreator.notifyUnit(notifyUnitParams));集群环境下,tm只通知到了集群节点1上,如果调用发生在集群节点2上则通知失败

forjane avatar May 15 '19 03:05 forjane

我也遇到这个问题了。。都上生产了。。我靠 压力山大。。。我这边是发起方入库了,调用方没有入库。。。也是业务服务每个两台,tm只有一台。启动服务时候是好的,跑一段时间后,报错 :LcnTransactionCleanService : Non lcn connection when clear transaction. @1991wangliang 大佬帮看看什么问题。。上生产了。。很急

问题解决了吗? MessageDto respMsg = rpcClient.request(modChannelKeys.get(0), MessageCreator.notifyUnit(notifyUnitParams));集群环境下,tm只通知到了集群节点1上,如果调用发生在集群节点2上则通知失败

现在弃用了,等稳定了再说吧。、。哎

liubo988 avatar May 16 '19 05:05 liubo988

我也是这个问题,子事务都不提交,导致死锁,大家有没有什么解决方案啊

xyz0101 avatar Dec 17 '19 11:12 xyz0101

你们这种集群环境,要修改tc端注册的key时,说白了,需要让tm精确识别是哪一个实例提交的事务

yizhishang avatar Dec 17 '19 12:12 yizhishang

https://github.com/yizhishang/tx-lcn.git 参考下这个

yizhishang avatar Dec 17 '19 12:12 yizhishang