跳到主要内容
最后 更新

检查 tablet 文件丢失

请求路径

GET /api/check_tablet_segment_lost?repair={bool}

描述

在 BE 节点上,可能会因为一些异常情况导致数据文件丢失,但是元数据显示正常,这种副本异常不会被 FE 检测到,也不能被修复。 当用户查询时,会报出打开数据文件失败的错误,并在错误信息末尾带上 tablet=<tablet_id>backend=<be_ip>。该接口的功能是检测出当前 BE 节点上所有存在文件丢失的 tablet。

版本说明

4.0.8 之前的 4.0.x 版本会统一在这类错误前加上 failed to initialize storage reader 前缀。自 4.0.8 起该前缀被去掉,错误信息保留底层的真实原因,因此不要以该前缀作为判断依据。

请求参数

  • repair

    • 设置为true时,存在文件丢失的 tablet 都会被设为SHUTDOWN状态,该副本会被作为坏副本处理,进而能够被 FE 检测和修复。

    • 设置为false时,只会返回所有存在文件丢失的 tablet,并不做任何处理。

请求体

响应

返回值是当前BE节点上所有存在文件丢失的tablet

```
{
status: "Success",
msg: "Succeed to check all tablet segment",
num: 3,
bad_tablets: [
11190,
11210,
11216
],
set_bad: true,
host: "172.3.0.101"
}
```

示例

```shell
curl http://127.0.0.1:8040/api/check_tablet_segment_lost?repair=false
```