Галера 'Обнаружен тупик при попытке получить блокировку' при коммите, когда узел падает - PullRequest
0 голосов
/ 13 декабря 2018

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

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

Спасибо

...