Максвелл XID в JSON записано в очередь на массаж
Я вижу в json ниже, что мы получаем xid во всех jason, записанных в kafka.
{"database":"TEST","table":"MAXWELL","type":"insert","ts":1234811111,"**xid**":2009527,"commit":true,"data":{"id":2,"name":"test"}}
То, что я хочу знать,
- Является ли этот xid уникальным для каждого события? Так что я могу дать вам xid для уникальной идентификации события базы данных.
- Это даже почему-то возмущает, будут ли события иметь один и тот же xid?
Примечание. Я попытался повторно отправить то же событие, вручную изменив файл position.binlog_positions и запустив новый экземпляр maxwell на новом сервере. Я получил те же xids для тех же событий из нового экземпляра Максвелла.
1 ответ
Решение
xid происходит из binlog mysql, и соответствует "action_id"innodb. Это уникально для транзакции, но только в контексте работающего сервера.