可以指定到主节点或主分片上执行SQL吗?

【 TiDB 使用环境】生产环境
【 TiDB 版本】v5.3.0
【复现路径】在当前线程更新一条数据成功,然后间隔9ms MQ消息处理,会再查之前更新的数据,发现查询不到。
【遇到的问题:问题现象及影响】是否复制延迟导致?可否强制读主分片的数据?

这是在同一会话查询之前的更新数据吗? 能否在具体描述下。 tidb默认读写操作都是发生在 region leader节点,也就是主分片。如果启用类似follower read的话会从其他副本读数据。

默认读写就是leader节点。
你这个是不是多线程,多个事务操作,更新的数据还没提交,所以其他事务没有查到?

  1. 不是在同一个会话,因为后一个线程是由MQ消费消息再到数据库查询的。
  1. 请求线程和MQ消费线程不是同一个
  2. 按你的思路,我再跟开发确认下,是否事务没有提交,但是MQ就发出去了,这样消费时还查询不到事务,因为不是同一个事务,一至性读肯定保证不了。

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。