Repository: incubator-ratis Updated Branches: refs/heads/master e22768799 -> c7c4d1140
RATIS-27. Use factory methods to create MiniRaftCluster. Project: http://git-wip-us.apache.org/repos/asf/incubator-ratis/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ratis/commit/c7c4d114 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ratis/tree/c7c4d114 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ratis/diff/c7c4d114 Branch: refs/heads/master Commit: c7c4d114007f755202c7d92629e42d870105ff69 Parents: e227687 Author: Tsz-Wo Nicholas Sze <[email protected]> Authored: Wed Feb 22 18:21:53 2017 -0800 Committer: Tsz-Wo Nicholas Sze <[email protected]> Committed: Wed Feb 22 18:21:53 2017 -0800 ---------------------------------------------------------------------- .../ratis/grpc/MiniRaftClusterWithGRpc.java | 13 +++------ .../grpc/TestNotLeaderExceptionWithGrpc.java | 6 ++-- .../grpc/TestRaftReconfigurationWithGRpc.java | 2 +- .../ratis/grpc/TestRaftSnapshotWithGrpc.java | 5 ++-- .../org/apache/ratis/grpc/TestRaftStream.java | 8 +++--- .../org/apache/ratis/grpc/TestRaftWithGrpc.java | 3 +- .../hadooprpc/server/HadoopRpcService.java | 11 +++++--- .../hadooprpc/MiniRaftClusterWithHadoopRpc.java | 29 ++++++++++++-------- .../TestNotLeaderExceptionWithHadoopRpc.java | 5 ++-- .../TestRaftReconfigurationWithHadoopRpc.java | 4 +-- .../TestRaftSnapshotWithHadoopRpc.java | 5 ++-- .../ratis/hadooprpc/TestRaftWithHadoopRpc.java | 2 +- .../ratis/netty/MiniRaftClusterWithNetty.java | 6 +--- .../netty/TestNotLeaderExceptionWithNetty.java | 6 ++-- .../netty/TestRaftReconfigurationWithNetty.java | 2 +- .../ratis/netty/TestRaftSnapshotWithNetty.java | 5 ++-- .../apache/ratis/netty/TestRaftWithNetty.java | 3 +- .../java/org/apache/ratis/MiniRaftCluster.java | 9 ++---- .../ratis/RaftNotLeaderExceptionBaseTest.java | 5 ++-- .../MiniRaftClusterWithSimulatedRpc.java | 13 ++++----- .../TestNotLeaderExceptionWithSimulation.java | 5 ++-- ...TestRaftReconfigurationWithSimulatedRpc.java | 2 +- .../TestRaftSnapshotWithSimulatedRpc.java | 5 ++-- .../simulation/TestRaftWithSimulatedRpc.java | 8 ++---- .../statemachine/RaftSnapshotBaseTest.java | 8 ++---- .../ratis/statemachine/TestStateMachine.java | 3 +- 26 files changed, 78 insertions(+), 95 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-grpc/src/test/java/org/apache/ratis/grpc/MiniRaftClusterWithGRpc.java ---------------------------------------------------------------------- diff --git a/ratis-grpc/src/test/java/org/apache/ratis/grpc/MiniRaftClusterWithGRpc.java b/ratis-grpc/src/test/java/org/apache/ratis/grpc/MiniRaftClusterWithGRpc.java index 757c7ea..bab8ee8 100644 --- a/ratis-grpc/src/test/java/org/apache/ratis/grpc/MiniRaftClusterWithGRpc.java +++ b/ratis-grpc/src/test/java/org/apache/ratis/grpc/MiniRaftClusterWithGRpc.java @@ -41,7 +41,7 @@ public class MiniRaftClusterWithGRpc extends MiniRaftCluster.RpcBase { = new Factory<MiniRaftClusterWithGRpc>() { @Override public MiniRaftClusterWithGRpc newCluster( - String[] ids, RaftProperties prop, boolean formatted) throws IOException { + String[] ids, RaftProperties prop, boolean formatted) { return new MiniRaftClusterWithGRpc(ids, prop, formatted); } }; @@ -49,19 +49,14 @@ public class MiniRaftClusterWithGRpc extends MiniRaftCluster.RpcBase { public static final DelayLocalExecutionInjection sendServerRequestInjection = new DelayLocalExecutionInjection(RaftGRpcService.GRPC_SEND_SERVER_REQUEST); - public MiniRaftClusterWithGRpc(int numServers, RaftProperties properties) - throws IOException { - this(generateIds(numServers, 0), properties, true); - } - - public MiniRaftClusterWithGRpc(String[] ids, RaftProperties properties, - boolean formatted) throws IOException { + private MiniRaftClusterWithGRpc(String[] ids, RaftProperties properties, + boolean formatted) { super(ids, new RaftProperties(properties), formatted); init(initRpcServices(getServers(), properties)); } private static Map<RaftPeer, RaftGRpcService> initRpcServices( - Collection<RaftServerImpl> servers, RaftProperties prop) throws IOException { + Collection<RaftServerImpl> servers, RaftProperties prop) { final Map<RaftPeer, RaftGRpcService> peerRpcs = new HashMap<>(); for (RaftServerImpl s : servers) { http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestNotLeaderExceptionWithGrpc.java ---------------------------------------------------------------------- diff --git a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestNotLeaderExceptionWithGrpc.java b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestNotLeaderExceptionWithGrpc.java index 8b4c504..e9e20b0 100644 --- a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestNotLeaderExceptionWithGrpc.java +++ b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestNotLeaderExceptionWithGrpc.java @@ -25,9 +25,7 @@ import java.io.IOException; public class TestNotLeaderExceptionWithGrpc extends RaftNotLeaderExceptionBaseTest { @Override - public MiniRaftCluster initCluster() throws IOException { - String[] s = MiniRaftCluster.generateIds(NUM_PEERS, 0); - RaftProperties prop = new RaftProperties(); - return new MiniRaftClusterWithGRpc(s, prop, true); + public MiniRaftCluster.Factory<?> getFactory() { + return MiniRaftClusterWithGRpc.FACTORY; } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftReconfigurationWithGRpc.java ---------------------------------------------------------------------- diff --git a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftReconfigurationWithGRpc.java b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftReconfigurationWithGRpc.java index ebc8a6d..4f54fa8 100644 --- a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftReconfigurationWithGRpc.java +++ b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftReconfigurationWithGRpc.java @@ -31,6 +31,6 @@ public class TestRaftReconfigurationWithGRpc extends RaftReconfigurationBaseTest @Override public MiniRaftClusterWithGRpc getCluster(int peerNum) throws IOException { - return new MiniRaftClusterWithGRpc(peerNum, prop); + return MiniRaftClusterWithGRpc.FACTORY.newCluster(peerNum, prop); } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftSnapshotWithGrpc.java ---------------------------------------------------------------------- diff --git a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftSnapshotWithGrpc.java b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftSnapshotWithGrpc.java index 8a26435..091277d 100644 --- a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftSnapshotWithGrpc.java +++ b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftSnapshotWithGrpc.java @@ -25,8 +25,7 @@ import java.io.IOException; public class TestRaftSnapshotWithGrpc extends RaftSnapshotBaseTest { @Override - public MiniRaftCluster initCluster(int numServer, RaftProperties prop) - throws IOException { - return MiniRaftClusterWithGRpc.FACTORY.newCluster(numServer, prop, true); + public MiniRaftCluster.Factory<?> getFactory() { + return MiniRaftClusterWithGRpc.FACTORY; } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftStream.java ---------------------------------------------------------------------- diff --git a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftStream.java b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftStream.java index ed130dd..d7cb75a 100644 --- a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftStream.java +++ b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftStream.java @@ -82,7 +82,7 @@ public class TestRaftStream { // default 64K is too large for a test prop.setInt(RAFT_OUTPUTSTREAM_BUFFER_SIZE_KEY, 4); - cluster = new MiniRaftClusterWithGRpc(NUM_SERVERS, prop); + cluster = MiniRaftClusterWithGRpc.FACTORY.newCluster(NUM_SERVERS, prop); cluster.start(); RaftServerImpl leader = waitForLeader(cluster); @@ -123,7 +123,7 @@ public class TestRaftStream { LOG.info("Running testWriteAndFlush"); prop.setInt(RAFT_OUTPUTSTREAM_BUFFER_SIZE_KEY, ByteValue.BUFFERSIZE); - cluster = new MiniRaftClusterWithGRpc(NUM_SERVERS, prop); + cluster = MiniRaftClusterWithGRpc.FACTORY.newCluster(NUM_SERVERS, prop); cluster.start(); RaftServerImpl leader = waitForLeader(cluster); @@ -202,7 +202,7 @@ public class TestRaftStream { LOG.info("Running testWriteWithOffset"); prop.setInt(RAFT_OUTPUTSTREAM_BUFFER_SIZE_KEY, ByteValue.BUFFERSIZE); - cluster = new MiniRaftClusterWithGRpc(NUM_SERVERS, prop); + cluster = MiniRaftClusterWithGRpc.FACTORY.newCluster(NUM_SERVERS, prop); cluster.start(); RaftServerImpl leader = waitForLeader(cluster); @@ -260,7 +260,7 @@ public class TestRaftStream { LOG.info("Running testChangeLeader"); prop.setInt(RAFT_OUTPUTSTREAM_BUFFER_SIZE_KEY, 4); - cluster = new MiniRaftClusterWithGRpc(NUM_SERVERS, prop); + cluster = MiniRaftClusterWithGRpc.FACTORY.newCluster(NUM_SERVERS, prop); cluster.start(); final RaftServerImpl leader = waitForLeader(cluster); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftWithGrpc.java ---------------------------------------------------------------------- diff --git a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftWithGrpc.java b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftWithGrpc.java index 1ca602f..bfaf819 100644 --- a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftWithGrpc.java +++ b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftWithGrpc.java @@ -35,7 +35,8 @@ public class TestRaftWithGrpc extends RaftBasicTests { private final MiniRaftClusterWithGRpc cluster; public TestRaftWithGrpc() throws IOException { - cluster = new MiniRaftClusterWithGRpc(NUM_SERVERS, properties); + cluster = MiniRaftClusterWithGRpc.FACTORY.newCluster( + NUM_SERVERS, properties); Assert.assertNull(cluster.getLeader()); } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java ---------------------------------------------------------------------- diff --git a/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java b/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java index 93f896c..e05e2a8 100644 --- a/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java +++ b/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java @@ -75,7 +75,7 @@ public class HadoopRpcService implements RaftServerRpc { } @Override - public HadoopRpcService build() throws IOException { + public HadoopRpcService build() { return new HadoopRpcService(getServer(), getConf()); } } @@ -90,12 +90,15 @@ public class HadoopRpcService implements RaftServerRpc { private final PeerProxyMap<Proxy<RaftServerProtocolPB>> proxies; - private HadoopRpcService(RaftServer server, final Configuration conf) - throws IOException { + private HadoopRpcService(RaftServer server, final Configuration conf) { this.proxies = new PeerProxyMap<>( p -> new Proxy(RaftServerProtocolPB.class, p.getAddress(), conf)); this.id = server.getId(); - this.ipcServer = newRpcServer(server, conf); + try { + this.ipcServer = newRpcServer(server, conf); + } catch (IOException e) { + throw new RuntimeException("Failed to create Hadoop rpc server.", e); + } this.ipcServerAddress = ipcServer.getListenerAddress(); addRaftClientProtocol(server, conf); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/MiniRaftClusterWithHadoopRpc.java ---------------------------------------------------------------------- diff --git a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/MiniRaftClusterWithHadoopRpc.java b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/MiniRaftClusterWithHadoopRpc.java index f1247fd..f3ee3f6 100644 --- a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/MiniRaftClusterWithHadoopRpc.java +++ b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/MiniRaftClusterWithHadoopRpc.java @@ -40,29 +40,36 @@ import java.util.Map; public class MiniRaftClusterWithHadoopRpc extends MiniRaftCluster.RpcBase { static final Logger LOG = LoggerFactory.getLogger(MiniRaftClusterWithHadoopRpc.class); - public static final Factory<MiniRaftClusterWithHadoopRpc> FACTORY - = new Factory<MiniRaftClusterWithHadoopRpc>() { + public static class Factory extends MiniRaftCluster.Factory<MiniRaftClusterWithHadoopRpc> { @Override public MiniRaftClusterWithHadoopRpc newCluster( - String[] ids, RaftProperties prop, boolean formatted) throws IOException { + String[] ids, RaftProperties prop, boolean formatted) { final Configuration conf = new Configuration(); + return newCluster(ids, prop, conf, formatted); + } + + public MiniRaftClusterWithHadoopRpc newCluster( + int numServers, RaftProperties properties, Configuration conf) { + return newCluster(generateIds(numServers, 0), properties, conf, true); + } + + public MiniRaftClusterWithHadoopRpc newCluster( + String[] ids, RaftProperties prop, Configuration conf, boolean formatted) { HadoopRpcServerConfigKeys.Ipc.setAddress(conf::set, "0.0.0.0:0"); return new MiniRaftClusterWithHadoopRpc(ids, prop, conf, formatted); } - }; + } + + public static final Factory FACTORY = new Factory(); public static final DelayLocalExecutionInjection sendServerRequest = new DelayLocalExecutionInjection(HadoopRpcService.SEND_SERVER_REQUEST); private final Configuration hadoopConf; - public MiniRaftClusterWithHadoopRpc(int numServers, RaftProperties properties, - Configuration conf) throws IOException { - this(generateIds(numServers, 0), properties, conf, true); - } - public MiniRaftClusterWithHadoopRpc(String[] ids, RaftProperties properties, - Configuration hadoopConf, boolean formatted) throws IOException { + private MiniRaftClusterWithHadoopRpc(String[] ids, RaftProperties properties, + Configuration hadoopConf, boolean formatted) { super(ids, properties, formatted); this.hadoopConf = hadoopConf; @@ -70,7 +77,7 @@ public class MiniRaftClusterWithHadoopRpc extends MiniRaftCluster.RpcBase { } private static Map<RaftPeer, HadoopRpcService> initRpcServices( - Collection<RaftServerImpl> servers, Configuration hadoopConf) throws IOException { + Collection<RaftServerImpl> servers, Configuration hadoopConf) { final Map<RaftPeer, HadoopRpcService> peerRpcs = new HashMap<>(); for(RaftServerImpl s : servers) { http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestNotLeaderExceptionWithHadoopRpc.java ---------------------------------------------------------------------- diff --git a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestNotLeaderExceptionWithHadoopRpc.java b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestNotLeaderExceptionWithHadoopRpc.java index 315d194..103a0b3 100644 --- a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestNotLeaderExceptionWithHadoopRpc.java +++ b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestNotLeaderExceptionWithHadoopRpc.java @@ -25,8 +25,7 @@ import java.io.IOException; public class TestNotLeaderExceptionWithHadoopRpc extends RaftNotLeaderExceptionBaseTest { @Override - public MiniRaftCluster initCluster() throws IOException { - return MiniRaftClusterWithHadoopRpc.FACTORY.newCluster( - NUM_PEERS, new RaftProperties(), true); + public MiniRaftCluster.Factory<?> getFactory() { + return MiniRaftClusterWithHadoopRpc.FACTORY; } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftReconfigurationWithHadoopRpc.java ---------------------------------------------------------------------- diff --git a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftReconfigurationWithHadoopRpc.java b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftReconfigurationWithHadoopRpc.java index c6b5226..2d15cea 100644 --- a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftReconfigurationWithHadoopRpc.java +++ b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftReconfigurationWithHadoopRpc.java @@ -19,7 +19,6 @@ package org.apache.ratis.hadooprpc; import org.apache.hadoop.conf.Configuration; import org.apache.ratis.MiniRaftCluster; -import org.apache.ratis.hadooprpc.server.HadoopRpcServerConfigKeys; import org.apache.ratis.server.impl.RaftReconfigurationBaseTest; import java.io.IOException; @@ -34,7 +33,6 @@ public class TestRaftReconfigurationWithHadoopRpc final Configuration hadoopConf = new Configuration(); hadoopConf.setInt(IPC_CLIENT_CONNECT_TIMEOUT_KEY, 1000); hadoopConf.setInt(IPC_CLIENT_CONNECT_MAX_RETRIES_KEY, 0); - HadoopRpcServerConfigKeys.Ipc.setAddress(hadoopConf::set, "0.0.0.0:0"); - return new MiniRaftClusterWithHadoopRpc(peerNum, prop, hadoopConf); + return MiniRaftClusterWithHadoopRpc.FACTORY.newCluster(peerNum, prop, hadoopConf); } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftSnapshotWithHadoopRpc.java ---------------------------------------------------------------------- diff --git a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftSnapshotWithHadoopRpc.java b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftSnapshotWithHadoopRpc.java index 7bdafb0..db8eeaf 100644 --- a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftSnapshotWithHadoopRpc.java +++ b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftSnapshotWithHadoopRpc.java @@ -25,8 +25,7 @@ import java.io.IOException; public class TestRaftSnapshotWithHadoopRpc extends RaftSnapshotBaseTest { @Override - public MiniRaftCluster initCluster(int numServer, RaftProperties prop) - throws IOException { - return MiniRaftClusterWithHadoopRpc.FACTORY.newCluster(numServer, prop, true); + public MiniRaftCluster.Factory<?> getFactory() { + return MiniRaftClusterWithHadoopRpc.FACTORY; } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftWithHadoopRpc.java ---------------------------------------------------------------------- diff --git a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftWithHadoopRpc.java b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftWithHadoopRpc.java index 44cb672..5c03129 100644 --- a/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftWithHadoopRpc.java +++ b/ratis-hadoop/src/test/java/org/apache/ratis/hadooprpc/TestRaftWithHadoopRpc.java @@ -40,7 +40,7 @@ public class TestRaftWithHadoopRpc extends RaftBasicTests { public TestRaftWithHadoopRpc() throws IOException { cluster = MiniRaftClusterWithHadoopRpc.FACTORY.newCluster( - NUM_SERVERS, getProperties(), true); + NUM_SERVERS, getProperties()); } @Override http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-netty/src/test/java/org/apache/ratis/netty/MiniRaftClusterWithNetty.java ---------------------------------------------------------------------- diff --git a/ratis-netty/src/test/java/org/apache/ratis/netty/MiniRaftClusterWithNetty.java b/ratis-netty/src/test/java/org/apache/ratis/netty/MiniRaftClusterWithNetty.java index f642ee5..4ddab6e 100644 --- a/ratis-netty/src/test/java/org/apache/ratis/netty/MiniRaftClusterWithNetty.java +++ b/ratis-netty/src/test/java/org/apache/ratis/netty/MiniRaftClusterWithNetty.java @@ -48,11 +48,7 @@ public class MiniRaftClusterWithNetty extends MiniRaftCluster.RpcBase { public static final DelayLocalExecutionInjection sendServerRequest = new DelayLocalExecutionInjection(NettyRpcService.SEND_SERVER_REQUEST); - public MiniRaftClusterWithNetty(int numServers, RaftProperties properties) { - this(generateIds(numServers, 0), properties, true); - } - - public MiniRaftClusterWithNetty( + private MiniRaftClusterWithNetty( String[] ids, RaftProperties properties, boolean formatted) { super(ids, properties, formatted); init(initRpcServices(getServers(), getConf())); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-netty/src/test/java/org/apache/ratis/netty/TestNotLeaderExceptionWithNetty.java ---------------------------------------------------------------------- diff --git a/ratis-netty/src/test/java/org/apache/ratis/netty/TestNotLeaderExceptionWithNetty.java b/ratis-netty/src/test/java/org/apache/ratis/netty/TestNotLeaderExceptionWithNetty.java index 9c267e7..6e4ed12 100644 --- a/ratis-netty/src/test/java/org/apache/ratis/netty/TestNotLeaderExceptionWithNetty.java +++ b/ratis-netty/src/test/java/org/apache/ratis/netty/TestNotLeaderExceptionWithNetty.java @@ -25,9 +25,7 @@ import java.io.IOException; public class TestNotLeaderExceptionWithNetty extends RaftNotLeaderExceptionBaseTest { @Override - public MiniRaftCluster initCluster() throws IOException { - String[] s = MiniRaftCluster.generateIds(NUM_PEERS, 0); - RaftProperties prop = new RaftProperties(); - return new MiniRaftClusterWithNetty(s, prop, true); + public MiniRaftCluster.Factory<?> getFactory() { + return MiniRaftClusterWithNetty.FACTORY; } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftReconfigurationWithNetty.java ---------------------------------------------------------------------- diff --git a/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftReconfigurationWithNetty.java b/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftReconfigurationWithNetty.java index cfa9729..15fa8e6 100644 --- a/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftReconfigurationWithNetty.java +++ b/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftReconfigurationWithNetty.java @@ -26,6 +26,6 @@ public class TestRaftReconfigurationWithNetty extends RaftReconfigurationBaseTest { @Override public MiniRaftCluster getCluster(int peerNum) throws IOException { - return MiniRaftClusterWithNetty.FACTORY.newCluster(peerNum, prop, true); + return MiniRaftClusterWithNetty.FACTORY.newCluster(peerNum, prop); } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftSnapshotWithNetty.java ---------------------------------------------------------------------- diff --git a/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftSnapshotWithNetty.java b/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftSnapshotWithNetty.java index 18807c0..da861d5 100644 --- a/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftSnapshotWithNetty.java +++ b/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftSnapshotWithNetty.java @@ -25,8 +25,7 @@ import java.io.IOException; public class TestRaftSnapshotWithNetty extends RaftSnapshotBaseTest { @Override - public MiniRaftCluster initCluster(int numServer, RaftProperties prop) - throws IOException { - return MiniRaftClusterWithNetty.FACTORY.newCluster(numServer, prop, true); + public MiniRaftCluster.Factory<?> getFactory() { + return MiniRaftClusterWithNetty.FACTORY; } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftWithNetty.java ---------------------------------------------------------------------- diff --git a/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftWithNetty.java b/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftWithNetty.java index 3954065..a48e608 100644 --- a/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftWithNetty.java +++ b/ratis-netty/src/test/java/org/apache/ratis/netty/TestRaftWithNetty.java @@ -36,7 +36,8 @@ public class TestRaftWithNetty extends RaftBasicTests { private final MiniRaftClusterWithNetty cluster; public TestRaftWithNetty() throws IOException { - cluster = new MiniRaftClusterWithNetty(NUM_SERVERS, getProperties()); + cluster = MiniRaftClusterWithNetty.FACTORY.newCluster( + NUM_SERVERS, getProperties()); } @Override http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java b/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java index 682849f..ce3cafc 100644 --- a/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java +++ b/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java @@ -61,13 +61,10 @@ public abstract class MiniRaftCluster { public static abstract class Factory<CLUSTER extends MiniRaftCluster> { public abstract CLUSTER newCluster( - String[] ids, RaftProperties prop, boolean formatted) - throws IOException; + String[] ids, RaftProperties prop, boolean formatted); - public CLUSTER newCluster( - int numServer, RaftProperties prop, boolean formatted) - throws IOException { - return newCluster(generateIds(numServer, 0), prop, formatted); + public CLUSTER newCluster(int numServer, RaftProperties prop) { + return newCluster(generateIds(numServer, 0), prop, true); } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-server/src/test/java/org/apache/ratis/RaftNotLeaderExceptionBaseTest.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/RaftNotLeaderExceptionBaseTest.java b/ratis-server/src/test/java/org/apache/ratis/RaftNotLeaderExceptionBaseTest.java index dbc32f0..fcb0bc2 100644 --- a/ratis-server/src/test/java/org/apache/ratis/RaftNotLeaderExceptionBaseTest.java +++ b/ratis-server/src/test/java/org/apache/ratis/RaftNotLeaderExceptionBaseTest.java @@ -21,6 +21,7 @@ import org.apache.log4j.Level; import org.apache.ratis.RaftTestUtil.SimpleMessage; import org.apache.ratis.client.RaftClient; import org.apache.ratis.client.RaftClientRequestSender; +import org.apache.ratis.conf.RaftProperties; import org.apache.ratis.protocol.ClientId; import org.apache.ratis.protocol.RaftClientReply; import org.apache.ratis.protocol.RaftClientRequest; @@ -58,11 +59,11 @@ public abstract class RaftNotLeaderExceptionBaseTest { private MiniRaftCluster cluster; - public abstract MiniRaftCluster initCluster() throws IOException; + public abstract MiniRaftCluster.Factory<?> getFactory(); @Before public void setup() throws IOException { - this.cluster = initCluster(); + cluster = getFactory().newCluster(NUM_PEERS, new RaftProperties()); cluster.start(); } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-server/src/test/java/org/apache/ratis/server/simulation/MiniRaftClusterWithSimulatedRpc.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/simulation/MiniRaftClusterWithSimulatedRpc.java b/ratis-server/src/test/java/org/apache/ratis/server/simulation/MiniRaftClusterWithSimulatedRpc.java index 6d26383..1745321 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/simulation/MiniRaftClusterWithSimulatedRpc.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/simulation/MiniRaftClusterWithSimulatedRpc.java @@ -29,6 +29,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.Collection; import java.util.Collections; +import java.util.concurrent.ThreadLocalRandom; public class MiniRaftClusterWithSimulatedRpc extends MiniRaftCluster { static final Logger LOG = LoggerFactory.getLogger(MiniRaftClusterWithSimulatedRpc.class); @@ -38,7 +39,10 @@ public class MiniRaftClusterWithSimulatedRpc extends MiniRaftCluster { @Override public MiniRaftClusterWithSimulatedRpc newCluster( String[] ids, RaftProperties prop, boolean formatted) { - prop.setInt(SimulatedRequestReply.SIMULATE_LATENCY_KEY, 0); + if (ThreadLocalRandom.current().nextBoolean()) { + // turn off simulate latency half of the times. + prop.setInt(SimulatedRequestReply.SIMULATE_LATENCY_KEY, 0); + } return new MiniRaftClusterWithSimulatedRpc(ids, prop, formatted); } }; @@ -46,12 +50,7 @@ public class MiniRaftClusterWithSimulatedRpc extends MiniRaftCluster { private SimulatedRequestReply<RaftServerRequest, RaftServerReply> serverRequestReply; private SimulatedClientRequestReply client2serverRequestReply; - public MiniRaftClusterWithSimulatedRpc(int numServers, - RaftProperties properties) { - this(generateIds(numServers, 0), properties, true); - } - - public MiniRaftClusterWithSimulatedRpc(String[] ids, + private MiniRaftClusterWithSimulatedRpc(String[] ids, RaftProperties properties, boolean formatted) { super(ids, properties, formatted); initRpc(); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestNotLeaderExceptionWithSimulation.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestNotLeaderExceptionWithSimulation.java b/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestNotLeaderExceptionWithSimulation.java index 412fb65..669d4df 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestNotLeaderExceptionWithSimulation.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestNotLeaderExceptionWithSimulation.java @@ -25,8 +25,7 @@ import java.io.IOException; public class TestNotLeaderExceptionWithSimulation extends RaftNotLeaderExceptionBaseTest { @Override - public MiniRaftCluster initCluster() throws IOException { - String[] s = MiniRaftCluster.generateIds(NUM_PEERS, 0); - return new MiniRaftClusterWithSimulatedRpc(s, new RaftProperties(), true); + public MiniRaftCluster.Factory<?> getFactory() { + return MiniRaftClusterWithSimulatedRpc.FACTORY; } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftReconfigurationWithSimulatedRpc.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftReconfigurationWithSimulatedRpc.java b/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftReconfigurationWithSimulatedRpc.java index b8bd679..b1bb26a 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftReconfigurationWithSimulatedRpc.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftReconfigurationWithSimulatedRpc.java @@ -26,6 +26,6 @@ public class TestRaftReconfigurationWithSimulatedRpc extends RaftReconfigurationBaseTest { @Override public MiniRaftCluster getCluster(int peerNum) throws IOException { - return new MiniRaftClusterWithSimulatedRpc(peerNum, prop); + return MiniRaftClusterWithSimulatedRpc.FACTORY.newCluster(peerNum, prop); } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftSnapshotWithSimulatedRpc.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftSnapshotWithSimulatedRpc.java b/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftSnapshotWithSimulatedRpc.java index f2d5cfb..8345872 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftSnapshotWithSimulatedRpc.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftSnapshotWithSimulatedRpc.java @@ -25,8 +25,7 @@ import java.io.IOException; public class TestRaftSnapshotWithSimulatedRpc extends RaftSnapshotBaseTest { @Override - public MiniRaftCluster initCluster(int numServer, RaftProperties prop) - throws IOException { - return MiniRaftClusterWithSimulatedRpc.FACTORY.newCluster(numServer, prop, true); + public MiniRaftCluster.Factory<?> getFactory() { + return MiniRaftClusterWithSimulatedRpc.FACTORY; } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftWithSimulatedRpc.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftWithSimulatedRpc.java b/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftWithSimulatedRpc.java index 29ef6ed..5332064 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftWithSimulatedRpc.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/simulation/TestRaftWithSimulatedRpc.java @@ -36,12 +36,8 @@ public class TestRaftWithSimulatedRpc extends RaftBasicTests { private final MiniRaftClusterWithSimulatedRpc cluster; public TestRaftWithSimulatedRpc() throws IOException { - final RaftProperties properties = getProperties(); - if (ThreadLocalRandom.current().nextBoolean()) { - // turn off simulate latency half of the times. - properties.setInt(SimulatedRequestReply.SIMULATE_LATENCY_KEY, 0); - } - cluster = new MiniRaftClusterWithSimulatedRpc(NUM_SERVERS, properties); + cluster = MiniRaftClusterWithSimulatedRpc.FACTORY.newCluster( + NUM_SERVERS, getProperties()); } @Override http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java b/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java index 5dea3b7..cb4412a 100644 --- a/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java +++ b/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java @@ -22,7 +22,6 @@ import static org.apache.ratis.server.RaftServerConfigKeys.RAFT_SERVER_SNAPSHOT_ import static org.apache.ratis.server.impl.RaftServerConstants.DEFAULT_SEQNUM; import java.io.File; -import java.io.IOException; import java.util.List; import org.apache.log4j.Level; @@ -86,18 +85,17 @@ public abstract class RaftSnapshotBaseTest { private MiniRaftCluster cluster; - public abstract MiniRaftCluster initCluster(int numServer, RaftProperties prop) - throws IOException; + public abstract MiniRaftCluster.Factory<?> getFactory(); @Before - public void setup() throws IOException { + public void setup() { final RaftProperties prop = new RaftProperties(); prop.setClass(MiniRaftCluster.STATEMACHINE_CLASS_KEY, SimpleStateMachine4Testing.class, StateMachine.class); prop.setLong(RAFT_SERVER_SNAPSHOT_TRIGGER_THRESHOLD_KEY, SNAPSHOT_TRIGGER_THRESHOLD); prop.setBoolean(RAFT_SERVER_AUTO_SNAPSHOT_ENABLED_KEY, true); - this.cluster = initCluster(1, prop); + this.cluster = getFactory().newCluster(1, prop); cluster.start(); } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/c7c4d114/ratis-server/src/test/java/org/apache/ratis/statemachine/TestStateMachine.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/statemachine/TestStateMachine.java b/ratis-server/src/test/java/org/apache/ratis/statemachine/TestStateMachine.java index 4e3391e..be34cc5 100644 --- a/ratis-server/src/test/java/org/apache/ratis/statemachine/TestStateMachine.java +++ b/ratis-server/src/test/java/org/apache/ratis/statemachine/TestStateMachine.java @@ -78,7 +78,8 @@ public class TestStateMachine { } private void startCluster() { - cluster = new MiniRaftClusterWithSimulatedRpc(NUM_SERVERS, properties); + cluster = MiniRaftClusterWithSimulatedRpc.FACTORY.newCluster( + NUM_SERVERS, properties); Assert.assertNull(getCluster().getLeader()); getCluster().start(); }
