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

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

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

  • 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
```