ADMIN SET REPLICA STATUS
Описание
Эта инструкция используется для задания состояния указанной реплики. В настоящее время она используется только для ручного перевода отдельных реплик в состояние BAD, DROP или OK, чтобы система могла автоматически восстановить эти реплики.
Синтаксис
ADMIN SET REPLICA STATUS
PROPERTIES ("tablet_id"="<tablet_id>","backend_id"="<backend_id>","status"="<status>")
Обязательные параметры
1. <tablet_id>
Идентификатор tablet, для реплики которого необходимо задать состояние.
2. <backend_id>
Идентификатор узла BE, на котором расположена реплика.
3. <status>
В настоящее время поддерживаются только значения "drop", "bad" и "ok". Если указанная реплика не существует или уже находится в состоянии bad, операция будет проигнорирована.
Примечания:
-
Перевод реплики в состояние BAD
Реплика, помеченная как BAD, недоступна для чтения и записи. Однако перевод реплики в состояние BAD не всегда приводит к изменению её состояния. Если фактические данные реплики корректны и BE сообщает, что реплика находится в состоянии OK, FE автоматически вернёт её в состояние OK. Эта операция может привести к немедленному удалению реплики, поэтому выполняйте её с осторожностью.
-
Перевод реплики в состояние DROP
Реплика, помеченная как DROP, остаётся доступной для чтения и записи. Прежде чем удалить реплику в состоянии DROP, система добавит исправную реплику на другой машине. По сравнению с переводом в состояние BAD, перевод реплики в состояние DROP является более безопасной операцией.
Требования к правам доступа
Пользователь, выполняющий эту команду SQL, должен иметь как минимум следующие права:
| Право | Объект | Примечания |
|---|---|---|
| Admin_priv | База данных | Требуется для выполнения административных операций с базой данных, включая управление таблицами, разделами и выполнение команд системного уровня. |
Примеры
-
Перевести реплику tablet 10003 на BE 10001 в состояние bad
ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10003", "backend_id" = "10001", "status" = "bad"); -
Перевести реплику tablet 10003 на BE 10001 в состояние drop
ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10003", "backend_id" = "10001", "status" = "drop"); -
Перевести реплику tablet 10003 на BE 10001 в состояние ok
ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10003", "backend_id" = "10001", "status" = "ok");