Closed NaughtyDogOfSchrodinger closed 1 year ago
现象: 集成测试update-validators如果删除的是leader,leader会无法propose
follwer收不到leader的消息
问题: https://github.com/cita-cloud/consensus_raft/blob/3bf6f7a07ed053ccfd34e3581fb717e5747146c5/src/peer.rs#L439-L455 由于共识节点列表中leader被删除,共识的区块一直无法发给follwer 由于last_time_start_fetching只有在pending_proposal为空时才会赋值,并且propose一直失败,pending_proposal一直存在 https://github.com/cita-cloud/consensus_raft/blob/3bf6f7a07ed053ccfd34e3581fb717e5747146c5/src/peer.rs#L366-L377 所以leader一直无法触发transfer_leader,共识过程停止,并且follower无法触发transfer_leader https://github.com/cita-cloud/consensus_raft/blob/3bf6f7a07ed053ccfd34e3581fb717e5747146c5/src/peer.rs#L468-L499
fixed
现象: 集成测试update-validators如果删除的是leader,leader会无法propose
follwer收不到leader的消息
问题: https://github.com/cita-cloud/consensus_raft/blob/3bf6f7a07ed053ccfd34e3581fb717e5747146c5/src/peer.rs#L439-L455 由于共识节点列表中leader被删除,共识的区块一直无法发给follwer 由于last_time_start_fetching只有在pending_proposal为空时才会赋值,并且propose一直失败,pending_proposal一直存在 https://github.com/cita-cloud/consensus_raft/blob/3bf6f7a07ed053ccfd34e3581fb717e5747146c5/src/peer.rs#L366-L377 所以leader一直无法触发transfer_leader,共识过程停止,并且follower无法触发transfer_leader https://github.com/cita-cloud/consensus_raft/blob/3bf6f7a07ed053ccfd34e3581fb717e5747146c5/src/peer.rs#L468-L499