最后于 更新
检查 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
```