joecqupt created RATIS-2378:
-------------------------------
Summary: listener role transition bug
Key: RATIS-2378
URL: https://issues.apache.org/jira/browse/RATIS-2378
Project: Ratis
Issue Type: Bug
Components: server
Reporter: joecqupt
{code:java}
@Test
public void testChangeListenerToFollower() throws Exception {
try(final MiniRaftCluster cluster = newCluster(2, 1)) {
cluster.start();
final RaftServer.Division leader = waitForLeader(cluster);
try (RaftClient client = cluster.createClient(leader.getId())) {
client.io().send(new RaftTestUtil.SimpleMessage("message"));
List<RaftPeer> listeners = cluster.getListeners()
.stream().map(RaftServer.Division::getPeer).collect(Collectors.toList());
assertEquals(listeners.size(), 1);
RaftClientReply reply =
client.admin().setConfiguration(cluster.getPeers());
assertTrue(reply.isSuccess());
Collection<RaftPeer> peer =
leader.getRaftConf().getAllPeers(RaftProtos.RaftPeerRole.LISTENER);
assertEquals(0, peer.size());
// check listeners after setConfigration
listeners = cluster.getListeners()
.stream().map(RaftServer.Division::getPeer).collect(Collectors.toList());
assertEquals(0, listeners.size());
}
cluster.shutdown();
}
} {code}
expect: unit test pass
actual: unit test fail : after setConfigration listeners size not 0
--
This message was sent by Atlassian Jira
(v8.20.10#820010)