sofastack / sofa-jraft

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

节点一直提示can't do preVote as it is not in conf #1050

Closed Shy-Chen closed 7 months ago

Shy-Chen commented 7 months ago

场景 做一个raft集群的测试 原本有3节点 然后加入一个新节点再移除一个老节点 先启动一个三节点raft集群8081、8082、8083,启动成功后通过cliservice添加一个8084节点、再删除8083节点 raft集群变为8081、8082、8084,但是8083节点一直报错 [JRaft-ElectionTimer-<r1/127.0.0.1:8083>0] WARN com.alipay.sofa.jraft.core.NodeImpl - Node <r1/127.0.0.1:8083> can't do preVote as it is not in conf <ConfigurationEntry [id=LogId [index=5, term=1], conf=127.0.0.1:8081,127.0.0.1:8082,127.0.0.1:8084, oldConf=]>.

这个问题如何解决?

killme2008 commented 7 months ago

要解决什么? 8083 既然不用了,停掉就好了。报这个错误不是很正常吗?

Shy-Chen commented 7 months ago

要解决什么? 8083 既然不用了,停掉就好了。报这个错误不是很正常吗?

我们使用的场景是多group 8081、8082、8083上有3个group 相当于我把其中一个group从8083迁移到8084 因为8083上还有其他的group 所以不能停掉

killme2008 commented 7 months ago

我的意思是说你把这个 Node stop 掉。你不同 group 用的也是不同的 jraft node 吧。

Shy-Chen commented 7 months ago

我的意思是说你把这个 Node stop 掉。你不同 group 用的也是不同的 jraft node 吧。

OK 明白了