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)

Reply via email to