清空数据文件 block_file 如何恢复

  1. 环境背景:测试环境,OB 3.1.2

  2. 故障描述
    a. 在进行故障测试时,使用命令 echo ‘’ > /data/1/obtest/sstable/block_file 模拟数据文件损坏;
    b. 观察到 observer 节点状态正常,读写请求正常,转储、合并操作也正常;
    c. 重启 observer 节点成功,未见明显异常;
    d. 之后查询在统计分区副本分布时报错,不知道与 block_file 被清空有什么关联?

  3. 期待解答
    清空 block_file 文件为什么不影响读写?(确认写是分布式事务,会写所有 ob 节点)
    清空 block_file 文件后需要做额外的修复动作吗?应该怎么做?
    统计分区副本分布时报错 ERROR 1210 (HY000): Invalid argument,是什么意思?应该怎么排查和解决?

1 个赞

请问大佬解决了么

1 个赞

这种操作应该是该observer直接故障了。
通过ocp对这个机器做下线,上线操作。
等价于重新安装,替换掉该机器。
我们内部混沌测试是直接删除sstable目录,重启不了,通过上述方式解决

1 个赞