Акка-Кластер: косвенно подключенный участник не получает событие UnreachableMember о себе - PullRequest
2 голосов
/ 26 марта 2019

Есть кое-что, что я пытаюсь понять об обнаружении сбоев и сплетнях об обнаружении.

Тест multi-jvm, который я написал, похоже, показывает, что член, который был обнаружен как неисправный, но все еще достижимый черездругие узлы не получат событие UnreachableMember(self), сообщающее ему, что он был определен как недоступный для какого-либо участника.

Тест прошел следующим образом: в кластере из 3 узлов node2 обнаруживает node3 какнедоступный, node3 обнаруживает node2 как недоступный.Затем node1 получает информацию о том, что node2 и node3 недоступны (через сплетни).Однако node2 и node3 никогда не получают факта, что они сами были обнаружены как недоступные.

После некоторого поиска в GossipSpec я обнаружил, что «ложно» недоступный элемент достигнет конвергенции, даже еслиэто отмечается как Unreachable (см. тест "not reach convergence when unreachable").

Это причина, по которой я не вижу событие UnreachableMember(self)?

Конечная цель Япопытка определить, что член был ложно признан недостижимым, поскольку он недоступен для данного участника из-за неисправного канала между ними.

...