多数据源整合Seata分布式事务问题

142 阅读1分钟

问题场景

最近小伙伴在开发过程中,使用分布式事务的时候出现了一些事务时有时无的问题。

外层使用@DSTrans+@GLobal 时,

  1. 更新lmb_account_coupon(id=5337302) 表时会出现get global lock fail
  2. 更换id=5337303的时候 出现 / by zero(符合预期结果)
  3. 更换回id=5337302的时候又出现get global lock fail, 所以猜测是不是这一行数据被锁了?

seata上有一个faq

image.png 加上改配置后,以上id的更新结果都出现 / by zero(符合预期结果) 把配置改为true后又出现get global lock fail。

整体上就是多数据源和Seata兼容问题