Open spasserby opened 3 years ago
现象: 步骤一:正常启动三个节点后 步骤二:通过remove_peer踢出去一个节点。重启节点,再通过add_peer添加这个节点会出现失败,再一次add_peer则会成功。
简单分析及推测: 在remove_peer后,leader会有一个socket处于Failed状态。 当第一次add_peer时,leader收到请求在给新节点发请求时会失败(在Socket::Address处),失败后SetFailed(),通过健康检查,这个socket会revive。 此时第二次add_peer,就正常了。
现象: 步骤一:正常启动三个节点后 步骤二:通过remove_peer踢出去一个节点。重启节点,再通过add_peer添加这个节点会出现失败,再一次add_peer则会成功。
简单分析及推测: 在remove_peer后,leader会有一个socket处于Failed状态。 当第一次add_peer时,leader收到请求在给新节点发请求时会失败(在Socket::Address处),失败后SetFailed(),通过健康检查,这个socket会revive。 此时第二次add_peer,就正常了。