Проверка всех tablet на наличие потерянных сегментов
Запрос
GET /api/check_tablet_segment_lost?repair={bool}
Описание
В некоторых нештатных ситуациях на узле BE могут теряться сегменты. При этом метаданные показывают, что tablet находится в нормальном состоянии. FE не обнаруживает такую неисправную реплику, поэтому её автоматическое восстановление невозможно. При выполнении запроса возникает ошибка открытия файла данных, а в конец сообщения добавляются tablet=<tablet_id> и backend=<be_ip>. Этот интерфейс проверяет все tablet на текущем узле BE на наличие потерянных сегментов.
В версиях ветки 4.0 до 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
```