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

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");