"src/box/authentication.c" did not exist on "42badb872a1aac35e6449b552a480e94ccf22ad2"
Parallel discovery
После того, как будет реализован тикет #48 (closed), нас ожидает интересный кейс.
Имеем кластер из трёх инстансов, в пирах у каждого указаны все три. Кластер успешно бутстрапится, все три инстанса становятся воутерами.
picodata run --instance-id i1 --peer i1,i2,i3
picodata run --instance-id i2 --peer i1,i2,i3
picodata run --instance-id i3 --peer i1,i2,i3
Проблемы начинаются, когда i1 дохнет. С одной стороны, в этом нет ничего страшного - кворум есть у i2+i3, и один из них станет лидером. С другой стороны, приджойнить в такой ситуации i4 будет всё равно невозможно:
picodata run --instance-id i4 --peer i1,i2,i3
Этот i4 начнет свой жизненный цикл с дискавери, и начнёт обход пиров с дохлого i1. Так как алгоритм дискавери реализован исключительно последовательно, i4 так и будет ломиться на i1 до скончания веков.