tiflash5.4.2升级6.1.2异常

【 TiDB 使用环境】生产环境 /测试/ Poc
生产环境
【 TiDB 版本】
Tidb 5.4.2
tikv 5.4.2
tiflash 5.4.2 升级 6.1.2
【复现路径】做过哪些操作出现的问题
部分 tiflash节点 升级6.1.2
【遇到的问题:问题现象及影响】
部分tiflash 实例启动异常 , 频繁重启
【资源配置】
【附件:截图/日志/监控】
[2022/11/09 16:39:34.654 +08:00] [WARN] [CoprocessorHandler.cpp:143] [“CoprocessorHandler:RegionException: region 109247004, message: NOT_FOUND”] [thread_id=55]
[2022/11/09 16:39:34.655 +08:00] [WARN] [CoprocessorHandler.cpp:143] [“CoprocessorHandler:RegionException: region 109646432, message: NOT_FOUND”] [thread_id=34]
[2022/11/09 16:39:34.660 +08:00] [WARN] [CoprocessorHandler.cpp:143] [“CoprocessorHandler:RegionException: region 126129822, message: NOT_FOUND”] [thread_id=33]
[2022/11/09 16:39:34.662 +08:00] [WARN] [CoprocessorHandler.cpp:143] [“CoprocessorHandler:RegionException: region 131281910, message: NOT_FOUND”] [thread_id=35]
[2022/11/09 16:39:34.665 +08:00] [WARN] [CoprocessorHandler.cpp:143] [“CoprocessorHandler:RegionException: region 132981372, message: NOT_FOUND”] [thread_id=37]
[2022/11/09 16:39:34.666 +08:00] [WARN] [CoprocessorHandler.cpp:143] [“CoprocessorHandler:RegionException: region 127647935, message: NOT_FOUND”] [thread_id=39]
[2022/11/09 16:39:34.784 +08:00] [WARN] [CoprocessorHandler.cpp:143] [“CoprocessorHandler:RegionException: region 123797949, message: NOT_FOUND”] [thread_id=36]
[2022/11/09 16:39:34.785 +08:00] [WARN] [CoprocessorHandler.cpp:143] [“CoprocessorHandler:RegionException: region 136227759, message: NOT_FOUND”] [thread_id=40]
[2022/11/09 16:39:34.874 +08:00] [WARN] [CoprocessorHandler.cpp:143] [“CoprocessorHandler:RegionException: region 89987343, message: NOT_FOUND”] [thread_id=41]
[2022/11/09 16:39:34.874 +08:00] [WARN] [CoprocessorHandler.cpp:143] [“CoprocessorHandler:RegionException: region 89987361, message: NOT_FOUND”] [thread_id=38]
[2022/11/09 16:40:42.454 +08:00] [ERROR] [BaseDaemon.cpp:377] [BaseDaemon:########################################] [thread_id=115]
[2022/11/09 16:40:42.466 +08:00] [ERROR] [BaseDaemon.cpp:378] [“BaseDaemon:(from thread 73) Received signal Segmentation fault(11).”] [thread_id=115]
[2022/11/09 16:40:42.476 +08:00] [ERROR] [BaseDaemon.cpp:406] [“BaseDaemon:Address: NULL pointer.”] [thread_id=115]
[2022/11/09 16:40:42.476 +08:00] [ERROR] [BaseDaemon.cpp:414] [“BaseDaemon:Access: read.”] [thread_id=115]
[2022/11/09 16:40:42.476 +08:00] [ERROR] [BaseDaemon.cpp:423] [“BaseDaemon:Address not mapped to object.”] [thread_id=115]
[2022/11/09 16:40:46.634 +08:00] [ERROR] [BaseDaemon.cpp:570] [“BaseDaemon:\n 0x1ed3dd1\tfaultSignalHandler(int, siginfo_t*, void*) [tiflash+32325073]\n
\tlibs/libdaemon/src/BaseDaemon.cpp:221\n 0x7f4f48fc4630\t [libpthread.so.0+63024]\n 0x7a8fae9\tDB::PageReader::getFileUsageSta
tistics() const [tiflash+128514793]\n \tdbms/src/Storages/Page/PageStorage.cpp:441\n 0x79530d2\tDB::RegionPersister::getFileUsageStatistics()
const [tiflash+127217874]\n \tdbms/src/Storages/Transaction/RegionPersister.cpp:385\n 0x719d741\tDB::AsynchronousMetrics::getPageStorageFile
Usage() [tiflash+119134017]\n \tdbms/src/Interpreters/AsynchronousMetrics.cpp:137\n 0x719cafc\tDB::AsynchronousMetrics::update() [tiflash+119
130876]\n \tdbms/src/Interpreters/AsynchronousMetrics.cpp:206\n 0x719c0aa\tDB::AsynchronousMetrics::run() [tiflash+119128234]\n
\tdbms/src/Interpreters/AsynchronousMetrics.cpp:107\n 0x1d71a21\tvoid* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_st
ruct, std::__1::default_deletestd::__1::__thread_struct >, DB::AsynchronousMetrics::AsynchronousMetrics(DB::Context&)::‘lambda’()> >(void*) [tiflash+30874145]\n
\t/usr/local/bin/…/include/c++/v1/thread:291\n 0x7f4f48fbcea5\tstart_thread [libpthread.so.0+32421]”] [thread_id=115]
[2022/11/09 16:40:49.568 +08:00] [WARN] [CoprocessorHandler.cpp:134] ["CoprocessorHandler:LockException: region 132424683, message: "] [thread_id=34]
[2022/11/09 16:40:52.336 +08:00] [WARN] [CoprocessorHandler.cpp:134] ["CoprocessorHandler:LockException: region 132424683, message: "] [thread_id=46]

监控 16:30 开始升级

升级前 可以先删除tilfash表。 升级后 可以先关闭tiflash再打开tiflash

这个比较危险吧,大量的复杂查询走不了TiFlash 会不会把TiKV打挂了

预计只能一台台TiFlash节点缩容扩容这样操作恢复。

我也是这么觉得的 。 这个不太靠谱 。 应该尽快找到bug去修复一下 , 提升用户升级平滑体验。 避免其他用户升级时遇到类似问题 。


版本5.4.2也有这个问题了?看来以后还是离线升级吧

离线升级 吧 我感觉问题还多

ALTER DATABASE db_name SET TIFLASH REPLICA count;
``` 一行代码就行了 别纠结了 就是干。先把大查询停了 升级完再开启

不是对整库设置tiflash 副本的,是一批表单独设置的,多个库 。
目前出问题的节点 通过 缩容 再扩容的方式 重建节点 看着是能正常的 。
已经有4个6.1.2的节点了 ,还有3个 准备 双十一之后 通过 缩容再扩容 方式升级 。

set global tidb_allow_mpp=1; mpp先关掉在升级试试

关闭参数后,需要把所有tidb 实例重启一遍。再升级tiflash?

不需要。重启之后开启参数即可。

刚才试了,不行
总结下 尝试过程
开启mpp, 直接升级tiflash。失败
开启mpp, region weight 0.。 失败
关闭mpp, 直接升级tiflash 失败


image

升级失败的报错信息发一下

tiflash-error.log.gz (70.1 KB)

error: get store failed: 2: invalid store ID 1046857, not found

这个store是什么问题

就是这个啊,下线旧的store。结果一直找storeid.
我现在只能通过上下线tiflash 来升级tiflash

看起来是你的tilfash 并没有终止。下线tilfash 的操作说一下

升级方式:k8s 调度的,直接删pod,换镜像
下线方式: pd-ctl delete store id