Перейти к содержимому
Последнее обновление

Проверка всех 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 этот префикс удалён, а сообщение об ошибке содержит фактическую причину, поэтому не используйте этот префикс для выявления данной ситуации.

Параметры запроса​

  • repair
    • true: 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
```