Галера 'Обнаружен тупик при попытке получить блокировку' при коммите, когда узел падает

Я вижу "обнаружена тупиковая ситуация при попытке получить блокировку" при выдаче команды COMMIT, в то время как другой узел в кластере WAN Galera недавно имел проблемы с подключением (практически одновременно с COMMIT). В этой конкретной ситуации я вставляю данные в одну таблицу с PK auto_increment, без FK и без других уникальных ограничений. Согласно протоколированию, узел, выдавший COMMIT, еще не распознал, что у другого узла возникли какие-либо проблемы (размер кластера еще должен измениться после того, как возникло исключение взаимоблокировки). Сначала я предполагал, что эта ошибка связана с изменением значений auto_increment_increment и auto_increment_offset при изменении размера кластера, что приводит к конфликтам PK, поэтому я попытался упростить ситуацию, настроив Galera так, чтобы вообще не управлять этими значениями, и вручную установил соответствующие значения в кластере., но это не решило проблему. На основании документации Galera кажется, что фиксирующий узел проверяет, что транзакция не вызывает никаких проблем с другими узлами в кластере. Основываясь на моей конфигурации auto_increment_*, я знаю, что идентификатор auto_increment не должен конфликтовать, поэтому на этом этапе я предполагаю, что фиксирующий узел пытается проверить состояние транзакции со всеми узлами, включая недавно запущенный узел, и очень временно (< 1 мин), перешел в автономный режим и отклоняет транзакцию, поскольку не может получить ответ от узла, в настоящее время испытывающего проблемы.

Я относительно новичок в Галере (8 месяцев), и я надеялся, что опытный ветеран Галера мог бы дать несколько советов о том, как лучше всего справиться с этой ситуацией. Я знаю о подходе "повторить транзакцию", но это кажется мне взломом, и я надеюсь, что есть альтернативное решение или, по крайней мере, некоторая дополнительная информация относительно первопричины этих конкретных проблем,

Спасибо

0 ответов

Другие вопросы по тегам