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']
См. также