集群时间一致问题 TSO

【 TiDB 使用环境】生产环境
【 TiDB 版本】7.5.4
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】很多表中有个字段
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
但是发现,时间是不一致的; create_time 会比实际快一些
now() CURRENT_TIMESTAMP 时间基本是精确的
【附件:截图/日志/监控】
image

now() CURRENT_TIMESTAMP 取的是执行语句的 tidb-server 的 os 时间。
你这个得看 create_time 字段是显示写入还是隐式写入,
如果是显示写入,那可能是应用取的时间靠前
如果是隐式写入,那么可能是部分 tidb-server 的 os 服务器时间靠前。

2 个赞

去 dashboard 查询下看看吧,感觉是业务显示插入的

我有点没理解问题,create_time 这个列不是 执行 select 语句之前插入,now() 是select 语句执行的时候获取的?

不理解,怎么已经插入的数据,时间还超前了

大概率,你这个create_time, 取的不是默认值,是业务主动插入的数据了

不是主动插入的,业务没有设置时间插入的

现象是确实有个tidb-server快了两分钟 :grinning:,之前我还以为他们通过pd取得

1 个赞

建议集群之间每台上用定时任务,一定时间间隔做下时间同步吧。

1 个赞