数据迁移过程中,插入数据导致其他数据丢失

【TDengine 版本】

  • 版本:3.2.1.0
  • 操作系统:centos7
  • 部署方式:非容器部署
  • 节点数:1
  • 副本数:0

【描述业务影响】

  • 数据丢失

【场景描述】

  • 由于业务原因,对超级表的字段进行了调整,调整期间两种结构的数据同时写入新库和旧库,观察无问题后,停止了旧库数据的写入,将旧库的数据写入新库,在此期间发生了新库已有数据丢失的现象

  • 具体来讲,在数据迁移期间,4.20当天数据库本来有 7.63 亿条数据,到 4.24日,4.20当天的数据量缩小到了 6.71 亿条(其他日期的数据有同样的问题,并且日期越早丢失的数据越多)(新库旧库是物理分隔的两个TDengine实例)

【复现步骤】

  • 在问题定位过程中,排除其他干扰时,暂停了数据迁移程序,并且观察一段时间,数据丢失停止了!
  • 重复启动和停止数据迁移程序,启动时数据会丢失,停止时数据不会丢失。
  • 观察/taosdlog.0,并无错误日志,注意并且唯一明显的日志是 .stt .head removed 的日志,于是猜测可能和数据文件的合并重组有关系。
  • 抱着尝试的心态,重启了 TDengine实例,数据不再丢失了

【资源配置】

  • 数据迁移过程中,写入速度大概 3~4 亿/小时
  • 服务器 4c 8g
  • vgroup 32 buffer 64m

【问题】

  • 是否是由于数据乱序插入触发的相关bug。
  • 是否是已知的版本特定的bug。

1、目前我们没有遇到过这种问题。

2、是否可以复现这种问题?如果可以的话,请联系我远程分析一下。加微信:136161161621

刚刚试了下复现了,我搜不到这个手机号,你加我吧,18594284368