braft
braft copied to clipboard
example/counter/server.cpp 中的 _leader_term 在 leader 重启以后没有正确设置
启动单个节点,成为 leader 以后,重启 leader 节点。 _leader_term 在 leader 重启以后没有正确设置,导致 is_leader 函数返回值不符合预期。
启动单个节点,成为 leader 以后,重启 leader 节点。 _leader_term 在 leader 重启以后没有正确设置,导致 is_leader 函数返回值不符合预期。
重启 leader 之后,该节点可能已经不是 leader 了。
启动单个节点,成为 leader 以后,重启 leader 节点。 _leader_term 在 leader 重启以后没有正确设置,导致 is_leader 函数返回值不符合预期。
重启 leader 之后,该节点可能已经不是 leader 了。
我观察到的结果是重启的节点还是 leader ,但是 leader_term 设置的不正确。导致 is_leader 接口返回值不符合预期。后来改用 node->is_leader() 来判断,可以解决这个问题。
直接用node->is_leader()会有问题吧,在on_leader_start调用之前,node->is_leader()可能已经是TRUE了,这个是不是有问题?