3.3.2.0 升级 3.4.1 时服务器load异常问题

【TDengine 使用环境】测试环境

【TDengine 版本】

3.3.2.0 升级 3.4.1

【操作系统以及版本】

ubuntu 18 4C8G

【部署方式】非容器部署

【集群节点数】

单机部署

【集群副本数】

【遇到的问题:问题现象及影响】

关停 3.3.2,在 3.4.1 OSS 包中执行 install.sh 后,服务器load直接到150+,持续越5分钟后才恢复。期间服务器安全卡主无法操作。

3.3.2 版本中数据目录总共大小 : 53M

【报错完整截图】

没有报错,只是导致服务器load异常。

推测是因为元数据迁移和重建导致的load飙升,但是只有 53M的数据就会持续这么久,那么有个1T的数据,升级时会迁移多久?

当时有查看 taosd 中 线程占用cpu情况吗,具体是哪些线程一直占用高?

我们找环境试试。

没有查看线程,执行install之后,整个机器就完全卡主了 远程新开ssh 窗口也无法登录进去。
第一次:卡住后就紧急终止了install,恢复后,重新安装了 3.3.2.0 版本,3.3.2.0的install 执行很快,没有问题
第二次:执行 3.4.1 的install 后一直等待,直到系统恢复。发现安装成功了,且运行也都正常。

正常会出现这种问题吗?如果有个1T的数据,官方有没有衡量升级时元数据重建的时长指标?

install 之前先停止了 taosd 服务吗?

install 不会进行数据重建的,只是会先停止 服务,然后进行覆盖安

然后需要人工重新启动服务。

install 之前停止了旧版本的 taosd。
尝试复现了下,可以复现,流程如下

  1. 3.4 版本dump数据
  2. 关停3.4 taosd
  3. 删除数据,安装3.3
  4. 3.3 dump 导入数据,做基本配置
  5. 关停 3.3 taosd
  6. 升级3.4 ,install执行过程中,机器load飙升。因为卡到无法操作,只能抓到 kswapd0 占用100%. 测试服务器是4核8G,服务稳定后,剩余内存 3.2G

在升级3.4之前,先多开一个窗口,执行 top -Hp `pidof taosd` ,来查看taosd 中线程占用cpu 的情况。