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);
     }

Reply via email to