Промежуточное ПО Cetus, обрабатывающее распределённые транзакции, может быть прервано из-за проблем с сетью или узлами, что приводит к зависанию транзакций XA. Инструмент для обработки зависаний XA Cetus разработан на языке Python и предназначен для автоматического исправления зависших транзакций при возникновении зависания распределённой транзакции в Cetus.
Инструмент включает в себя два основных модуля: поиска зависших транзакций и обработки зависших транзакций. Модуль поиска зависших транзакций считывает результаты xa recover из MySQL, получает список транзакций XID, которые долго находятся в состоянии зависания, объединяет все XID зависших транзакций на всех конечных точках и удаляет дубликаты. Затем он считывает содержимое журнала binlog на конечных точках, чтобы получить окончательное состояние всех зависших транзакций XA по их XID. Модуль обработки зависших транзакций выполняет простую обработку зависших транзакций в соответствии с полученным окончательным состоянием. Если окончательное состояние зависшей транзакции — PREPARE, ROLLBACK, END или START, выполняется операция отката. Если же окончательное состояние — COMMIT, выполняется операция фиксации.
Перед использованием инструмента для обработки зависших транзакций Cetus необходимо установить соответствующие зависимости.
CONFIG = {"logs": "/data/cetus/xa_suspension_logs/xa-suspension.log",
"backend": "/home/mysql-cetus/cetus_install/conf/cetus.conf",
"user": "/home/mysql-cetus/cetus_install/conf/users.json",
"temp_file": "/data/cetus/xa_suspension_logs/"
}
chmod +x xa-suspension.py
nohup ./xa-suspension.py &
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )