shardingJdbc 读写分离 主方法中 调用同一个 service 的两个方法 第一个方法 删除,第二个方法查询 为啥第一个走的 写库 第二个走的读库

麻烦帮忙看下 貌似只有分库分表的场景下 事务中会出现不会都走主库

使用读写分离+分库分表 的配置下 同一个事务下 不会完全走主库
使用
System.out.println(“事务:” + TransactionSynchronizationManager.getCurrentTransactionName());
打印,确认是在事务下执行

这个麻烦提供一个 demo,方便调查问题。

sharding-jdbc 对一个链接是有一个标志位来表示是否在事务中

多层嵌套事务下会失效

嵌套事务失效,具体行为是什么?

事务中的查询sql 走了读库

希望提供一个可复现的demo,方便排查问题

jdbc 的嵌套事务是基于 savepoint 的,add savepoint support for sharding-jdbc by jingshanglu · Pull Request #16434 · apache/shardingsphere · GitHub 这个修复应该解决了这个问题

京ICP备2021015875号