This is an automated email from the ASF dual-hosted git repository. szetszwo pushed a commit to branch branch-2 in repository https://gitbox.apache.org/repos/asf/ratis.git
commit 4f4182c35ced647a38de7ef97bc2e803832761e0 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) (cherry picked from commit b8f050eab1d8a1922f158a6142f86c10f395e79a) --- .../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); }
