seata RM中没有undo_log记录

nacos 注册成功,seata 服务器日志显示回滚成功,但是实际上没有回滚,需要查询原因,AT模式回滚需要数据库中有undo_log日志,实际上没有看到这个表的记录,说明全局事物开启后,服务数据没有被seata解析,所以没有插入undo_log.

查看一下这个说法:https://blog.csdn.net/weixin_43786801/article/details/126502715

 

 

 

seata 服务端 file.conf 中 ,修改驱动类,同时nacos配置驱动也相应修改。

##driverClassName = "com.mysql.jdbc.Driver"
driverClassName = "com.mysql.cj.jdbc.Driver"

到这儿为止,发起调用的服务自身可以正常生成undo_log记录,但是后面被调用服务无法生成undo_log 记录,导致分布式事务失败,后面被调用的服务无法回滚。

找了好久终于找到原因,可以查看 https://blog.csdn.net/qq_45278455/article/details/124364505。服务发起方没有将全局XID带到下游的服务中,导致下游服务无法找到全局事务,进而不参与到全局事务中,下游服务自然undo_log没有记录了。

 

posted @   wangjin_1  阅读(960)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示