This is an automated email from the ASF dual-hosted git repository.
szetszwo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ratis.git
The following commit(s) were added to refs/heads/master by this push:
new b8f050ea RATIS-1624. Can't use set configuration to add a new Listener
correctly. (#683)
b8f050ea is described below
commit b8f050eab1d8a1922f158a6142f86c10f395e79a
Author: qian0817 <[email protected]>
AuthorDate: Wed Jul 20 23:31:12 2022 +0800
RATIS-1624. Can't use set configuration to add a new Listener correctly.
(#683)
---
.../src/main/java/org/apache/ratis/server/impl/LeaderStateImpl.java | 2 +-
.../src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderStateImpl.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderStateImpl.java
index 16cb2582..9e170e93 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderStateImpl.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/impl/LeaderStateImpl.java
@@ -1079,7 +1079,7 @@ class LeaderStateImpl implements LeaderState {
}
boolean contains(RaftPeerId peerId) {
- return newPeers.containsKey(peerId);
+ return newPeers.containsKey(peerId) || newListeners.containsKey(peerId);
}
void fail(BootStrapProgress progress) {
diff --git
a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java
b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java
index d4711fbd..1954e33d 100644
---
a/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java
+++
b/ratis-server/src/main/java/org/apache/ratis/server/impl/RaftServerImpl.java
@@ -1145,6 +1145,7 @@ class RaftServerImpl implements RaftServer.Division,
}
getRaftServer().addRaftPeers(serversInNewConf);
+ getRaftServer().addRaftPeers(listenersInNewConf);
// add staging state into the leaderState
pending = leaderState.startSetConfiguration(request, serversInNewConf);
}