Проверка всех tablet на потерю сегментов
Запрос
GET /api/check_tablet_segment_lost?repair={bool}
Описание
В некоторых исключительных ситуациях на узле BE могут быть потеряны сегменты. При этом метаданные показывают, что tablet находится в нормальном состоянии. FE не обнаруживает такую повреждённую реплику, поэтому её автоматическое восстановление невозможно. При поступлении запроса возникает ошибка открытия файла данных, к сообщению которой добавляются tablet=<tablet_id> и backend=<be_ip>. Этот интерфейс проверяет все tablet на текущем узле BE на потерю сегментов.
В версиях до 4.0.8 в начало таких сообщений об ошибках добавлялся префикс failed to initialize storage reader. Начиная с версии 4.0.8 этот префикс удалён, а сообщение об ошибке содержит фактическую первопричину, поэтому не следует использовать префикс для выявления этой ситуации.
Параметры запроса
repairtrue: tablet с потерянными сегментами переводятся в состояние SHUTDOWN и считаются повреждёнными репликами, которые FE может обнаружить и восстановить.false: возвращаются все tablet с отсутствующими сегментами; никаких действий с ними не выполняется.
Тело запроса
Отсутствует
Ответ
The return is all tablets on the current BE node that have lost segment:
```
{
status: "Success",
msg: "Succeed to check all tablet segment",
num: 3,
bad_tablets: [
11190,
11210,
11216
],
set_bad: true,
host: "172.3.0.101"
}
```
Примеры
```
curl http://127.0.0.1:8040/api/check_tablet_segment_lost?repair=false
```