baidu / braft

An industrial-grade C++ implementation of RAFT consensus algorithm based on brpc, widely used inside Baidu to build highly-available distributed systems.
Apache License 2.0
3.84k stars 862 forks source link

Follower加载快照花费时间比较久时,会不会陷入到安装快照的死循环里 #423

Open cangfengzhs opened 9 months ago

cangfengzhs commented 9 months ago
  1. Leader 向 Follower发送快照
  2. Follower安装快照期间,Leader判定RPC超时(nextIndex不变)
  3. Leader在block一段时间之后,重新尝试向Follower发送快照
  4. 循环往复

请问会不会出现这种情况

cpf1893 commented 8 months ago

image

cpf1893 commented 8 months ago

Controller.set_timeout_ms()可修改某次RPC的值。单位毫秒,默认值1秒,最大值2^31(约24天),-1表示一直等到回复或错误。

这里看着是一致等待Follower,直到成功或者失败