johnwa-CD
(Hacker Yp Yw Bvas)
1
【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.3
【复现路径】执行sql出现错误,一直这个错误,然后去掉TiFlash就执行正常
select * from if_user_installreferrer limit 100
1105 - other error for mpp stream: From MPPquery:442333193923723265:2,task: Code: 49, e.displayText() = DB::Exception: Check schema[i].type->equals(*storage_schema[i].type) failed, schema[i].name = table_scan_23, schema[i].type->getName() = Nullable(MyDateTime(3)), storage_schema[i].name = remarketingtime, storage_schema[i].type->getName() = Nullable(MyDateTime(0)), e.what() = DB::Exception,
时间: 10.03s
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
redgame
(Ti D Ber Pa Amoi Ul)
4
“remarketingtime” 列的类型在两者之间不相同
johnwa-CD
(Hacker Yp Yw Bvas)
5
这个原因是什么?这个字段是DateTime类型,tiflash我们也不能手动配置啊
johnwa-CD
(Hacker Yp Yw Bvas)
6
2个节点. 看没用什么问题啊.就是 从 6.1.5 升级到 6.5.3 发现这个毛病
johnwa-CD
(Hacker Yp Yw Bvas)
7
你是指卸载tiflash重新添加,还是表去掉tiflash再添加?
1105 - other error for mpp stream: From MPPquery:442341727299961673:8,task: Code: 49, e.displayText() = DB::Exception: Check schema[i].type->equals(*storage_schema[i].type) failed, schema[i].name = table_scan_9, schema[i].type->getName() = Nullable(MyDateTime(3)), storage_schema[i].name = remarketingtime, storage_schema[i].type->getName() = Nullable(MyDateTime(0)), e.what() = DB::Exception,
johnwa-CD
(Hacker Yp Yw Bvas)
10
多谢老哥,果然是要卸载tiflash重装
这个挺麻烦的,因为我太多东西使用TiFlash重新加载了一次所有的tiflash数花了几个小时
人如其名
(人如其名)
12
@Billmay表妹 这算是BUG么,是否需要找专家看看?
johnwa-CD
(Hacker Yp Yw Bvas)
13
昨天集群从 6.1.5 升级到 6.5.3, 提示是升级成功了但是升级完后,基本这个集群崩了一样
到现在都是各种问题,非常麻烦,集群数据有 几十个T
现在查询性能只有原来不到一半的感觉,但是kv的io,内存,CPU都很正常. 使用率都不高
现在写入也是巨慢,各种不正常
然后TiFlash这个问题,还好楼上老哥提醒了一下,重装一开始上了俩节点,结果上去就不正常
现在是只敢用一个TiFlash,跑的还算正常
那个提示,怎么看都不像是我们环境那里问题,居然重新安装就可以 了…
现在不敢乱动,好歹tiflash已经能用了
1 个赞
zhanggame1
(Ti D Ber G I13ecx U)
14
论坛看案例,升级tidb tiflash挺容易出问题的
https://github.com/pingcap/tiflash/issues/6806
这里有一个类似的 issue
可以改 tiflash 的 config 里 profiles.default.enable_planner 为 0 看看能不能解决。
顺便问一下,那个报错的字段有改过字段类型吗?
johnwa-CD
(Hacker Yp Yw Bvas)
17
重装能解决问题,就可以估计跟业务无关了
这个纯粹就是TiFlash的问题 …
https://github.com/pingcap/tiflash/issues/7809
确认是一个 DATETIME
/TIMESTAMP
/TIME
类型的列精度 (fsp) 被 DDL 语句修改之后,可能导致 TiFlash 查询报错的 bug。因为这个检查是在 v6.5 才加上的,所以从旧版本升级到当下的 6.5 和 7.1 版本也可能受影响,导致之前能运行的 SQL 在新版本中报错。
暂时可以通过以下几种方式 workaround:
- 在原表上以正确的类型创建新的列;使用
UPDATE table_name SET ...
语句将旧列的值拷贝到新的列中;再 drop 旧的列
- 以正确的类型创建新的表;将旧表的行插入到新表中;再 drop 旧表
或者等待下一个包含修复的 patch 版本出来后,升级到新版本即可~
1 个赞
system
(system)
关闭
19
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。