sofastack / sofa-jraft

A production-grade java implementation of RAFT consensus algorithm.
https://www.sofastack.tech/projects/sofa-jraft/
Apache License 2.0
3.52k stars 1.12k forks source link

请教一个changePeers的问题 #1117

Open ye-xiaowei opened 1 week ago

ye-xiaowei commented 1 week ago

Your question

假设一开始的节点是 123,leader 是 1. 然后 changePeers 是 345.

  1. 45 catchup
  2. 12、45 apply C new & C old
  3. 12、45 apply C new
  4. client 收到 changePeers 成功
  5. 12 宕机
  6. 4 become leader

那这个时候 3 节点并不知道 C new 是不是就加不回去了。