tiflash 处理ROUND函数报错

【 TiDB 使用环境】测试/
【 TiDB 版本】v7.1.1
【复现路径】对Decimal类型数据查询结果进行ROUND报错。走tiflash
【遇到的问题:问题现象及影响】查询sql中只要有对Decimal类型数据查询结果进行ROUND处理,走tiflash就会报错。走tikv不会错。怎么解决?
【资源配置】兼容性问题与资源配置无关
【附件:截图/日志/监控】

是这个 BUG 吗


重新构建相关表的TiFlash副本试下呢:
ALTER TABLE t1 SET TIFLASH REPLICA 0;
ALTER TABLE t1 SET TIFLASH REPLICA 1;

必须是bug

bug还没修复吗

还没试重新构建。是不是tikv同步到tiflash的时候精度上有丢失bug?select 里有这个round函数就有问题:

怎么处理的?

也不行哈。重新构建同步了。涉及到Decimal、double类型运算的,有这bug哈

这个肯定是bug,升级版本把

升版是大操作,都想法不升版看有无方法解决掉

大兄弟,目前我用的是7.1哦。升到7.5就没问题吗

先round,然后外面再套一层sum,或者直接走tikv呢?

1 个赞

走kv没有问题。但是速度没tflsh快

我这边也遇到了。v7.5.0修复了吗?

不晓得,我生产上也用了。不好升级。而且还不知有没有修复了。

产品bug呀,升级吧

最新版本修复了吗?

7.1.0版本好像可以,可以试试。我司升级前测试了7.1.1版本遇到这个报错。

round 函数换成其他函数处理下

这个 issue 跟踪:

https://github.com/pingcap/tidb/issues/45805

相关帖子:select 单表报错 SQL 错误 [1105] [HY000]: runtime error: index out of range [0] with length 0

这个 bug 在7.1.2 上修复了,小版本的升级一般没有问题,你可以升级到 7.1.3 试一下