Bad page: checksum mismatch

【详述】Bad page: checksum mismatch、too many version
【业务影响】
【StarRocks版本】例如:2.1.12
【集群规模】例如:3fe+12be
【机器信息】例如:32C/128G/万兆
【背景】:数仓定时任务偶尔会出现如下报错:
mysql> insert into tmp_transfer select * from transfer;
ERROR 1064 (HY000): Bad page: checksum mismatch (actual=243080401 vs expect=12)
今天上午多个表的写入程序报错: Too many version
BE的配置已经修改为如下:
#compaction
cumulative_compaction_num_threads_per_disk = 16
cumulative_compaction_check_interval_seconds = 2
cumulative_compaction_write_mbytes_per_sec=500
base_compaction_num_threads_per_disk = 8
base_compaction_check_interval_seconds = 30
base_compaction_write_mbytes_per_sec=50
compaction_mem_limit = 10737418240
push_write_mbytes_per_sec=30

查看源表 transfer 的partition 发现version 一直没有减少:


于是手动将数据导入临时表中再将表 swap,手动使用insert into tmp select * from prod 时,出现报错:ERROR 1064 (HY000): Bad page: checksum mismatch (actual=243080401 vs expect=12)
多尝试几次后插入成功。
成功替换表后 数据写入正常。版本变为2:

【背景】:几张大表模型:unixque key 单表大概5T。五张类似的大表。导入频率目前都在5-10s 一次。
问题:

  1. Bad page 这个错误具体原因是什么
  2. 这个导入频率再上如上compaction 的参数 依旧会报错 toomany version。 有优化方案吗

1.bad page的问题麻烦补充一下对应时间段的be.INFO日志
2.too many tablet version是因为导入频率太高了,咱们导入方式是通过哪种导入呢?

重新复现了一下这个错误,在一台be节点上拉下来的日志:
be.info (9.7 MB)

好像没有找到有价值的信息
2. 应该不是导入频率过高这个问题。 因为当时只有一个程序在写入,而且程序启动后第一个请求 都无法成功
猜测是不是因为表中历史数据还在compaction ? 新数据写入无法 compact 所以抛出这个错误

有地方可以看到表的compaction 进度吗,show partitions 看到的 VisibleVersion 字段非常大。

还有个优化相关的问题,监控中compaction score 会出现如图的峰值,集群中并没有导入频率很高的任务,现在大部分是5-10s 的写入 到unique 模型表。不知道是否与这个有关

对应时间点是否有大量的delete语句?

以前重启过机器吗?

怎么复现的,可以说下详细步骤吗?

加个微信,沟通下细节?

你的很多be.conf 配置,不太合理,最好改下:
compaction_mem_limit = 10737418240 (这个配置去掉)
cumulative_compaction_num_threads_per_disk = 16 (这个值太大了)
base_compaction_num_threads_per_disk = 8 (这个值太大了)

be上面挂了几块盘?

你们有用StarRocks外表吗?

可以把be下面的日志,备份压缩锁,发给我们吗?

  1. 对应时间点没有delete语句
  2. 是否重启过 : 重启过,两周前从2.1.10升级到2.1.12 ,不过升级之前也有这个问题
  3. be 目前挂载了两块ssd 但是运维给挂载在一个目录下 /data_ssd。
    但是这里有个问题之前的机器有HDD 后面觉得HDD没用升级了机器,升级方式:下线一台老的节点(含hdd) 上线一台新节点(只有ssd) 但是为了保证之前的HDD中的数据可以完全迁移 所以在SSD 的目录中新建了个目录 假装为HDD :
    storage_root_path=/data_ssd/sr_storage,medium:SSD,capacity:6300;/data_ssd/sr_storage_hdd,medium:HDD,capacity:100
    BE全部升级后发现 WARNING 中有部分 migrate的异常: storage media migrate failed. status: Not supported: Not support to migrate updatable tablet: 85222309,使用数据过程中暂时没有影响就没管。 不知道这个bad page 是否与这个事情有关。
  4. 外表目前在使用的有 MySQL 以及 ES引擎的外表
  5. BE的 日志 我晚点重新复现下之后打包发给你们


已确定是磁盘故障