sofastack/sofa-jraft

leader切换

Shy-Chen opened this issue · 1 comments

3节点raft集群运行过程中 出现了leader切换 日志如下

2023-12-28 21:31:30.106◊ WARN◊ [JRaft-StepDownTimer-<r1/127.0.0.1:8083>0]◊ com.alipay.sofa.jraft.core.NodeImpl#2219◊ 1860768◊ NULL◊ NULL◊ NULL◊ Node <r1/127.0.0.1:8083> steps down when alive nodes don't satisfy quorum, term=3, deadNodes=127.0.0.1:8081,127.0.0.1:8082, conf=127.0.0.1:8081,127.0.0.1:8082,127.0.0.1:8083.
2023-12-28 21:31:30.112◊ INFO◊ [JRaft-FSMCaller-Disruptor-0]◊ com.coincall.jraft.fsm.StorageStateMachine#149◊ 1860774◊ NULL◊ NULL◊ NULL◊ stateMachine stop leader region=r1, term=3
2023-12-28 21:31:30.112◊ INFO◊ [JRaft-StepDownTimer-<r1/127.0.0.1:8083>0]◊ com.alipay.sofa.jraft.core.Replicator#1146◊ 1860774◊ NULL◊ NULL◊ NULL◊ Replicator Replicator [state=Replicate, statInfo=<running=IDLE, firstLogIndex=669294, lastLogIncluded=0, lastLogIndex=669294, lastTermIncluded=0>, peerId=127.0.0.1:8082, waitId=34735, type=Follower] is going to quit
2023-12-28 21:31:30.112◊ INFO◊ [JRaft-StepDownTimer-<r1/127.0.0.1:8083>0]◊ com.alipay.sofa.jraft.core.Replicator#1146◊ 1860774◊ NULL◊ NULL◊ NULL◊ Replicator Replicator [state=Replicate, statInfo=<running=IDLE, firstLogIndex=669294, lastLogIncluded=0, lastLogIndex=669294, lastTermIncluded=0>, peerId=127.0.0.1:8081, waitId=34736, type=Follower] is going to quit
2023-12-28 21:31:30.124◊ ERROR◊ [cli-callback-1-0]◊ com.alipay.sofa.jraft.rpc.RpcRequestProcessor#58◊ 1860786◊ NULL◊ NULL◊ NULL◊ handleRequest group_id: "r1"
leader_id: "127.0.0.1:8083"
failed
java.lang.IllegalStateException: Not leader
at com.alipay.sofa.jraft.core.NodeImpl.listPeers(NodeImpl.java:2965)
at com.alipay.sofa.jraft.rpc.impl.cli.GetPeersRequestProcessor.processRequest0(GetPeersRequestProcessor.java:58)
at com.alipay.sofa.jraft.rpc.impl.cli.GetPeersRequestProcessor.processRequest0(GetPeersRequestProcessor.java:33)
at com.alipay.sofa.jraft.rpc.impl.cli.BaseCliRequestProcessor.processRequest(BaseCliRequestProcessor.java:119)
at com.alipay.sofa.jraft.rpc.RpcRequestProcessor.handleRequest(RpcRequestProcessor.java:53)
at com.alipay.sofa.jraft.rpc.RpcRequestProcessor.handleRequest(RpcRequestProcessor.java:35)
at com.alipay.sofa.jraft.rpc.impl.BoltRpcServer$2.handleRequest(BoltRpcServer.java:124)
at com.alipay.remoting.rpc.protocol.RpcRequestProcessor.dispatchToUserProcessor(RpcRequestProcessor.java:235)
at com.alipay.remoting.rpc.protocol.RpcRequestProcessor.doProcess(RpcRequestProcessor.java:146)
at com.alipay.remoting.rpc.protocol.RpcRequestProcessor$ProcessTask.run(RpcRequestProcessor.java:393)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)

因为都是在本地启动的服务 应该不是网络问题 这个是因为什么导致leader切换?

本地服务不代表不会有网络问题,这是两个节点失联了

com.alipay.sofa.jraft.core.NodeImpl#2219◊ 1860768◊ NULL◊ NULL◊ NULL◊ Node <r1/127.0.0.1:8083> steps down when alive nodes don't satisfy quorum, term=3, deadNodes=127.0.0.1:8081,127.0.0.1:8082,

具体还需要看下上下文和其他节点的日志