system.zookeeper_log 

Эта таблица содержит информацию о параметрах запроса к серверу ZooKeeper и ответа от него.

Для запросов заполняются только столбцы с параметрами запроса, а остальные столбцы заполняются значениями по умолчанию (0 или NULL). Когда поступает ответ, данные добавляются в столбцы с параметрами ответа на запрос.

Столбцы с параметрами запроса:

  • type (Enum) — тип события в клиенте ZooKeeper. Может иметь одно из следующих значений:
    • Request — запрос отправлен.
    • Response — ответ получен.
    • Finalize — соединение разорвано, ответ не получен.
  • event_date (Date) — дата, когда произошло событие.
  • event_time (DateTime64) — дата и время, когда произошло событие.
  • address (IPv6) — IP адрес сервера ZooKeeper, с которого был сделан запрос.
  • port (UInt16) — порт сервера ZooKeeper, с которого был сделан запрос.
  • session_id (Int64) — идентификатор сессии, который сервер ZooKeeper создает для каждого соединения.
  • xid (Int32) — идентификатор запроса внутри сессии. Обычно это последовательный номер запроса, одинаковый у строки запроса и у парной строки response/finalize.
  • has_watch (UInt8) — установлен ли запрос watch.
  • op_num (Enum) — тип запроса или ответа на запрос.
  • path (String) — путь к узлу ZooKeeper, указанный в запросе. Пустая строка, если запрос не требует указания пути.
  • data (String) — данные, записанные на узле ZooKeeper (для запросов SET и CREATE — что запрос хотел записать, для ответа на запрос GET — что было прочитано), или пустая строка.
  • is_ephemeral (UInt8) — создается ли узел ZooKeeper как ephemeral.
  • is_sequential (UInt8) — создается ли узел ZooKeeper как sequential.
  • version (Nullable(Int32)) — версия узла ZooKeeper, которую запрос ожидает увидеть при выполнении. Поддерживается для запросов CHECK, SET, REMOVE (-1 — запрос не проверяет версию, NULL — для других запросов, которые не поддерживают проверку версии).
  • requests_size (UInt32) — количество запросов, включенных в мультизапрос (это специальный запрос, который состоит из нескольких последовательных обычных запросов, выполняющихся атомарно). Все запросы, включенные в мультизапрос, имеют одинаковый xid.
  • request_idx (UInt32) — номер запроса, включенного в мультизапрос (0 — для мультизапроса, далее по порядку с 1).

Столбцы с параметрами ответа на запрос:

  • zxid (Int64) — идентификатор транзакции в ZooKeeper. Последовательный номер, выданный сервером ZooKeeper в ответе на успешно выполненный запрос (0 — запрос не был выполнен, возвращена ошибка или клиент ZooKeeper не знает, был ли выполнен запрос).
  • error (Nullable(Enum)) — код ошибки. Может иметь много значений, здесь приведены только некоторые из них:
    • ZOK — запрос успешно выполнен.
    • ZCONNECTIONLOSS — соединение разорвано.
    • ZOPERATIONTIMEOUT — истекло время ожидания выполнения запроса.
    • ZSESSIONEXPIRED — истекло время сессии.
    • NULL — выполнен запрос.
  • watch_type (Nullable(Enum)) — тип события watch (для ответов на запрос при op_num = Watch), для остальных ответов: NULL.
  • watch_state (Nullable(Enum)) — статус события watch (для ответов на запрос при op_num = Watch), для остальных ответов: NULL.
  • path_created (String) — путь к созданному узлу ZooKeeper (для ответов на запрос CREATE). Может отличаться от path, если узел создается как sequential.
  • stat_czxid (Int64) — идентификатор транзакции, в результате которой был создан узел ZooKeeper.
  • stat_mzxid (Int64) — идентификатор транзакции, которая последней модифицировала узел ZooKeeper.
  • stat_pzxid (Int64) — идентификатор транзакции, которая последней модифицировала дочерние узлы ZooKeeper.
  • stat_version (Int32) — количество изменений в данных узла ZooKeeper.
  • stat_cversion (Int32) — количество изменений в дочерних узлах ZooKeeper.
  • stat_dataLength (Int32) — длина поля данных узла ZooKeeper.
  • stat_numChildren (Int32) — количество дочерних узлов ZooKeeper.
  • children (Array(String)) — список дочерних узлов ZooKeeper (для ответов на запрос LIST).

Пример

Запрос:

SELECT * FROM system.zookeeper_log WHERE (session_id = '106662742089334927') AND (xid = '10858') FORMAT Vertical;

Результат:

Row 1:
──────
type:             Request
event_date:       2021-08-09
event_time:       2021-08-09 21:38:30.291792
address:          ::
port:             2181
session_id:       106662742089334927
xid:              10858
has_watch:        1
op_num:           List
path:             /clickhouse/task_queue/ddl
data:             
is_ephemeral:     0
is_sequential:    0
version:          ᴺᵁᴸᴸ
requests_size:    0
request_idx:      0
zxid:             0
error:            ᴺᵁᴸᴸ
watch_type:       ᴺᵁᴸᴸ
watch_state:      ᴺᵁᴸᴸ
path_created:     
stat_czxid:       0
stat_mzxid:       0
stat_pzxid:       0
stat_version:     0
stat_cversion:    0
stat_dataLength:  0
stat_numChildren: 0
children:         []

Row 2:
──────
type:             Response
event_date:       2021-08-09
event_time:       2021-08-09 21:38:30.292086
address:          ::
port:             2181
session_id:       106662742089334927
xid:              10858
has_watch:        1
op_num:           List
path:             /clickhouse/task_queue/ddl
data:             
is_ephemeral:     0
is_sequential:    0
version:          ᴺᵁᴸᴸ
requests_size:    0
request_idx:      0
zxid:             16926267
error:            ZOK
watch_type:       ᴺᵁᴸᴸ
watch_state:      ᴺᵁᴸᴸ
path_created:     
stat_czxid:       16925469
stat_mzxid:       16925469
stat_pzxid:       16926179
stat_version:     0
stat_cversion:    7
stat_dataLength:  0
stat_numChildren: 7
children:         ['query-0000000006','query-0000000005','query-0000000004','query-0000000003','query-0000000002','query-0000000001','query-0000000000']

См. также

Rating: 4 - 1 votes

Was this content helpful?
★★★★☆