Я внедряю Raft в GO и тестирую свою реализацию на некоторых тестовых примерах на основе ненадежной сети, которая может отбрасывать пакеты и задерживать их. До сих пор нормальные тестовые случаи, которые не включают ненадежную сеть, работали нормально. Но теперь я застрял в бесконечном переизбрании.
Это большой кусок кода, и это невозможно показать здесь. Я использую таймаут трансляции, который преобразует лидера в последователя, если он не может связаться с другими подписчиками. Это не было проблемой в надежной сети, но я думаю, что теперь это так.
Мне бы очень хотелось получить совет о том, где искать проблемы в этом, потому что я не знаю, как начать отладку этого проблема.
Best,