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

SHOW REPLICA STATUS

Описание​

Эта инструкция используется для просмотра информации о состоянии реплик таблицы или раздела.

Синтаксис​

SHOW REPLICA STATUS FROM [ <database_name>.]<table_name> [<partition_list>] 
[where_clause]

Где:

partition_list
: PARTITION (<partition_name>[ , ... ])

Где:

where_clause
: WHERE <output_column_name> = <value>

Обязательные параметры​

1. <table_name>

Идентификатор (то есть имя) таблицы, который должен быть уникальным в пределах базы данных (Database).

Идентификатор должен начинаться с буквы (или любого символа поддерживаемых языков, если включена поддержка имён в Unicode) и не может содержать пробелы или специальные символы, если вся строка идентификатора не заключена в обратные кавычки (например, My Object).

В качестве идентификаторов нельзя использовать зарезервированные ключевые слова.

Подробности см. в требованиях к идентификаторам и списке зарезервированных ключевых слов.

Необязательные параметры​

1. <db_name>

Идентификатор (то есть имя) базы данных, который должен быть уникальным в пределах кластера (Cluster).

Идентификатор должен начинаться с буквы (или любого символа поддерживаемых языков, если включена поддержка имён в Unicode) и не может содержать пробелы или специальные символы, если вся строка идентификатора не заключена в обратные кавычки (например, My Object).

В качестве идентификаторов нельзя использовать зарезервированные ключевые слова.

Подробности см. в требованиях к идентификаторам и списке зарезервированных ключевых слов.

2. <partition_list>

Список идентификаторов (то есть имён) разделов, разделённых запятыми. Каждый идентификатор должен быть уникальным в пределах таблицы (Table).

Идентификатор должен начинаться с буквы (или любого символа поддерживаемых языков, если включена поддержка имён в Unicode) и не может содержать пробелы или специальные символы, если вся строка идентификатора не заключена в обратные кавычки (например, My Object).

В качестве идентификаторов нельзя использовать зарезервированные ключевые слова.

Подробности см. в требованиях к идентификаторам и списке зарезервированных ключевых слов.

3. WHERE <output_column_name> = <value>

Задаёт условие фильтрации результата. output_column_name должен входить в список полей результата.

Если output_column_name имеет значение STATUS, допустимы следующие значения:

  • DEAD: Узел Backend, на котором находится реплика, недоступен.
  • VERSION_ERROR: Версия данных реплики неполная.
  • SCHEMA_ERROR: Хеш схемы реплики некорректен.
  • MISSING: Реплика не существует.

Возвращаемое значение​

СтолбецТип данныхПримечание
TabletIdIntУникальный идентификатор tablet.
ReplicaIdIntУникальный идентификатор реплики.
BackendIdIntID узла Backend (BE), на котором находится реплика.
VersionIntТекущая версия реплики.
LastFailedVersionIntВерсия, на которой в последний раз произошёл сбой реплики. Значение -1 означает отсутствие сбоев.
LastSuccessVersionIntВерсия последней успешной операции реплики.
CommittedVersionIntЗафиксированная версия реплики.
SchemaHashIntХеш, представляющий схему реплики.
VersionNumIntКоличество версий, сменившихся у реплики.
IsBadBooleanУказывает, находится ли реплика в неисправном состоянии (true/false).
IsUserDropBooleanУказывает, помечена ли реплика для удаления по инициативе пользователя.
StateStringТекущее состояние реплики (например, NORMAL).
StatusStringСтатус работоспособности реплики (например, OK).

Требования к правам доступа​

Пользователь, выполняющий эту команду SQL, должен обладать как минимум следующими правами:

ПравоОбъектПримечания
Admin_privDatabaseТребуется для выполнения административных операций с базой данных, включая управление таблицами, разделами и выполнение команд системного уровня.

Примеры​

  • Отображение состояния всех реплик таблицы

    SHOW REPLICA STATUS FROM db1.tbl1;
    +----------+-----------+-----------+---------+-------------------+--------------------+------------------+------------+------------+-------+------------+--------+--------+
    | TabletId | ReplicaId | BackendId | Version | LastFailedVersion | LastSuccessVersion | CommittedVersion | SchemaHash | VersionNum | IsBad | IsUserDrop | State | Status |
    +----------+-----------+-----------+---------+-------------------+--------------------+------------------+------------+------------+-------+------------+--------+--------+
    | 10145 | 10146 | 10009 | 14 | -1 | 14 | 14 | 182881783 | 1 | false | false | NORMAL | OK |
    | 10147 | 10148 | 10009 | 14 | -1 | 14 | 14 | 182881783 | 1 | false | false | NORMAL | OK |
    | 10149 | 10150 | 10009 | 14 | -1 | 14 | 14 | 182881783 | 1 | false | false | NORMAL | OK |
    | 10151 | 10152 | 10009 | 14 | -1 | 14 | 14 | 182881783 | 1 | false | false | NORMAL | OK |
    +----------+-----------+-----------+---------+-------------------+--------------------+------------------+------------+------------+-------+------------+--------+--------+
  • Отображение реплик указанных разделов со статусом VERSION_ERROR

    SHOW REPLICA STATUS FROM tbl1 PARTITION (p1, p2)
    WHERE STATUS = "VERSION_ERROR";
  • Отображение всех реплик таблицы в неработоспособном состоянии

    SHOW REPLICA STATUS FROM tbl1
    WHERE STATUS != "OK";