This is an automated email from the ASF dual-hosted git repository. jiangtian pushed a commit to branch client_manager_add_close in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 4171098e1feb2e3e19e71d55fe3791e3eb53abe3 Author: jt <[email protected]> AuthorDate: Wed Jan 5 14:41:32 2022 +0800 fix ClientManager not closed --- .../org/apache/iotdb/cluster/ClusterIoTDB.java | 9 + .../apache/iotdb/cluster/client/BaseFactory.java | 13 + .../apache/iotdb/cluster/client/ClientManager.java | 37 ++- .../iotdb/cluster/client/IClientManager.java | 2 + .../cluster/client/async/AsyncDataClient.java | 4 + .../iotdb/cluster/server/StoppedMemberManager.java | 7 + .../iotdb/cluster/server/member/RaftMember.java | 5 + .../cluster/server/service/DataGroupEngine.java | 2 + .../iotdb/cluster/client/ClientManagerTest.java | 300 ++++++++++++--------- .../cluster/client/ClientPoolFactoryTest.java | 6 +- .../iotdb/cluster/client/MockClientManager.java | 3 + .../cluster/client/async/AsyncDataClientTest.java | 2 + .../iotdb/cluster/log/LogDispatcherTest.java | 1 - .../cluster/log/applier/DataLogApplierTest.java | 5 +- .../cluster/log/applier/MetaLogApplierTest.java | 1 - .../iotdb/cluster/log/catchup/CatchUpTaskTest.java | 1 - .../cluster/log/catchup/LogCatchUpTaskTest.java | 1 - .../log/catchup/SnapshotCatchUpTaskTest.java | 1 - .../cluster/log/snapshot/DataSnapshotTest.java | 2 - .../log/snapshot/MetaSimpleSnapshotTest.java | 1 - .../cluster/log/snapshot/PullSnapshotTaskTest.java | 2 - .../query/ClusterAggregateExecutorTest.java | 7 + .../query/fill/ClusterFillExecutorTest.java | 7 + .../ClusterGroupByNoVFilterDataSetTest.java | 7 + .../groupby/ClusterGroupByVFilterDataSetTest.java | 7 + .../query/groupby/MergeGroupByExecutorTest.java | 7 + .../query/groupby/RemoteGroupByExecutorTest.java | 7 + .../query/last/ClusterLastQueryExecutorTest.java | 7 + .../query/reader/ClusterReaderFactoryTest.java | 7 + .../query/reader/ClusterTimeGeneratorTest.java | 7 + .../cluster/query/reader/DatasourceInfoTest.java | 3 + .../reader/RemoteSeriesReaderByTimestampTest.java | 3 + .../query/reader/RemoteSimpleSeriesReaderTest.java | 3 + .../mult/AssignPathManagedMergeReaderTest.java | 3 + .../reader/mult/RemoteMultSeriesReaderTest.java | 6 + .../server/clusterinfo/ClusterInfoServerTest.java | 2 +- .../clusterinfo/ClusterInfoServiceImplTest.java | 6 +- .../caller/AppendGroupEntryHandlerTest.java | 1 - .../caller/AppendNodeEntryHandlerTest.java | 1 - .../handlers/caller/ElectionHandlerTest.java | 1 - .../handlers/caller/HeartbeatHandlerTest.java | 1 - .../handlers/caller/LogCatchUpHandlerTest.java | 1 - .../server/heartbeat/DataHeartbeatThreadTest.java | 2 +- .../server/heartbeat/HeartbeatThreadTest.java | 1 - .../iotdb/cluster/server/member/BaseMember.java | 16 +- .../cluster/server/member/DataGroupMemberTest.java | 11 +- .../cluster/server/member/MetaGroupMemberTest.java | 12 +- .../cluster/server/member/RaftMemberTest.java | 15 ++ 48 files changed, 386 insertions(+), 170 deletions(-) diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java index 0c53ebd..0104bc4 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java @@ -577,6 +577,9 @@ public class ClusterIoTDB implements ClusterIoTDBMBean { logger.info("ClusterIoTDB is deactivated."); // stop the iotdb kernel iotdb.stop(); + if (clientManager != null) { + clientManager.close(); + } } private void stopThreadPools() { @@ -598,6 +601,9 @@ public class ClusterIoTDB implements ClusterIoTDBMBean { @TestOnly public void setClientManager(IClientManager clientManager) { + if (this.clientManager != null) { + this.clientManager.close(); + } this.clientManager = clientManager; } @@ -608,6 +614,9 @@ public class ClusterIoTDB implements ClusterIoTDBMBean { @TestOnly public void setDataGroupEngine(DataGroupEngine dataGroupEngine) { + if (this.dataGroupEngine != null) { + this.dataGroupEngine.stop(); + } this.dataGroupEngine = dataGroupEngine; } diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/client/BaseFactory.java b/cluster/src/main/java/org/apache/iotdb/cluster/client/BaseFactory.java index 1c60df6..c8992bb 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/client/BaseFactory.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/client/BaseFactory.java @@ -51,4 +51,17 @@ public abstract class BaseFactory<K, T> implements KeyedPooledObjectFactory<K, T @Override public void passivateObject(K node, PooledObject<T> pooledObject) throws Exception {} + + public void close() { + if (managers == null) { + return; + } + for (int i = 0; i < managers.length; i++) { + TAsyncClientManager manager = managers[i]; + if (manager != null) { + manager.stop(); + managers[i] = null; + } + } + } } diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/client/ClientManager.java b/cluster/src/main/java/org/apache/iotdb/cluster/client/ClientManager.java index ae24a6d..adc1574 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/client/ClientManager.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/client/ClientManager.java @@ -21,9 +21,12 @@ package org.apache.iotdb.cluster.client; import org.apache.iotdb.cluster.rpc.thrift.Node; import org.apache.iotdb.cluster.rpc.thrift.RaftService; +import org.apache.iotdb.cluster.rpc.thrift.RaftService.AsyncClient; +import org.apache.iotdb.cluster.rpc.thrift.RaftService.Client; import com.google.common.collect.Maps; import org.apache.commons.pool2.KeyedObjectPool; +import org.apache.commons.pool2.impl.GenericKeyedObjectPool; import org.apache.thrift.transport.TTransportException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,9 +45,12 @@ public class ClientManager implements IClientManager { private static final Logger logger = LoggerFactory.getLogger(ClientManager.class); - private Map<ClientCategory, KeyedObjectPool<Node, RaftService.AsyncClient>> asyncClientPoolMap; - private Map<ClientCategory, KeyedObjectPool<Node, RaftService.Client>> syncClientPoolMap; - private final ClientPoolFactory clientPoolFactory; + private Map<ClientCategory, GenericKeyedObjectPool<Node, RaftService.AsyncClient>> + asyncClientPoolMap; + private Map<ClientCategory, GenericKeyedObjectPool<Node, Client>> syncClientPoolMap; + private ClientPoolFactory clientPoolFactory; + + private Exception createStack; /** * {@link ClientManager.Type#RequestForwardClient} represents the clients used to forward external @@ -72,6 +78,8 @@ public class ClientManager implements IClientManager { syncClientPoolMap = Maps.newHashMap(); constructSyncClientMap(type); } + + this.createStack = new Exception(); } private void constructAsyncClientMap(Type type) { @@ -220,4 +228,27 @@ public class ClientManager implements IClientManager { } } } + + @Override + public void close() { + if (false) { + return; + } + if (asyncClientPoolMap != null) { + for (GenericKeyedObjectPool<Node, AsyncClient> value : asyncClientPoolMap.values()) { + value.close(); + ((BaseFactory) value.getFactory()).close(); + } + asyncClientPoolMap.clear(); + } + + if (syncClientPoolMap != null) { + for (GenericKeyedObjectPool<Node, Client> value : syncClientPoolMap.values()) { + value.close(); + ((BaseFactory) value.getFactory()).close(); + } + syncClientPoolMap.clear(); + } + clientPoolFactory = null; + } } diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/client/IClientManager.java b/cluster/src/main/java/org/apache/iotdb/cluster/client/IClientManager.java index 6652e0c..0c0eca1 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/client/IClientManager.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/client/IClientManager.java @@ -32,4 +32,6 @@ public interface IClientManager { void returnAsyncClient(RaftService.AsyncClient client, Node node, ClientCategory category); void returnSyncClient(RaftService.Client client, Node node, ClientCategory category); + + void close(); } diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncDataClient.java b/cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncDataClient.java index cb9c798..df6d5ea 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncDataClient.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncDataClient.java @@ -147,13 +147,17 @@ public class AsyncDataClient extends TSDataService.AsyncClient { public static class AsyncDataClientFactory extends AsyncBaseFactory<Node, AsyncDataClient> { + Exception createStack; + public AsyncDataClientFactory(TProtocolFactory protocolFactory, ClientCategory category) { super(protocolFactory, category); + createStack = new Exception(); } public AsyncDataClientFactory( TProtocolFactory protocolFactory, ClientCategory category, IClientManager clientManager) { super(protocolFactory, category, clientManager); + createStack = new Exception(); } @Override diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/StoppedMemberManager.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/StoppedMemberManager.java index c8efe39..d5ed278 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/server/StoppedMemberManager.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/StoppedMemberManager.java @@ -27,6 +27,7 @@ import org.apache.iotdb.cluster.server.member.DataGroupMember.Factory; import org.apache.iotdb.cluster.utils.ClusterUtils; import org.apache.iotdb.db.conf.IoTDBDescriptor; +import org.apache.iotdb.db.utils.TestOnly; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -64,6 +65,12 @@ public class StoppedMemberManager { recover(); } + public void stop() { + for (DataGroupMember value : removedMemberMap.values()) { + value.stop(); + } + } + /** * When a DataGroupMember is removed, add it here and record this removal, so in next start-up we * can recover it as a data source for data transfers. diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java index 1e71fed..d74579c 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java @@ -304,6 +304,10 @@ public abstract class RaftMember implements RaftMemberMBean { public void stop() { setSkipElection(true); closeLogManager(); + if (clientManager != null) { + clientManager.close(); + } + if (heartBeatService == null) { return; } @@ -342,6 +346,7 @@ public abstract class RaftMember implements RaftMemberMBean { logger.error("Unexpected interruption when waiting for commitLogPool to end", e); } } + leader.set(ClusterConstant.EMPTY_NODE); catchUpService = null; heartBeatService = null; diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/service/DataGroupEngine.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/service/DataGroupEngine.java index 58593af..1a689c6 100644 --- a/cluster/src/main/java/org/apache/iotdb/cluster/server/service/DataGroupEngine.java +++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/service/DataGroupEngine.java @@ -108,6 +108,8 @@ public class DataGroupEngine implements IService, DataGroupEngineMBean { for (DataGroupMember member : headerGroupMap.values()) { member.stop(); } + stoppedMemberManager.stop(); + headerGroupMap.clear(); } @Override diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/client/ClientManagerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/ClientManagerTest.java index 19794ab..307d50c 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/client/ClientManagerTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/client/ClientManagerTest.java @@ -55,158 +55,192 @@ public class ClientManagerTest extends BaseClientTest { // ---------Sync cluster clients manager test------------ ClientManager clusterManager = new ClientManager(false, ClientManager.Type.RequestForwardClient); - RaftService.Client syncClusterClient = - clusterManager.borrowSyncClient(defaultNode, ClientCategory.DATA); - - Assert.assertNotNull(syncClusterClient); - Assert.assertTrue(syncClusterClient instanceof SyncDataClient); - Assert.assertEquals(((SyncDataClient) syncClusterClient).getNode(), defaultNode); - Assert.assertTrue(syncClusterClient.getInputProtocol().getTransport().isOpen()); - ((SyncDataClient) syncClusterClient).returnSelf(); - - // cluster test - Assert.assertNull(clusterManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); - Assert.assertNull(clusterManager.borrowSyncClient(defaultNode, ClientCategory.META)); - Assert.assertNull(clusterManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); - - Assert.assertNull(clusterManager.borrowAsyncClient(defaultNode, ClientCategory.DATA)); - Assert.assertNull(clusterManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); - Assert.assertNull(clusterManager.borrowAsyncClient(defaultNode, ClientCategory.META)); - Assert.assertNull(clusterManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + try { + RaftService.Client syncClusterClient = + clusterManager.borrowSyncClient(defaultNode, ClientCategory.DATA); + + Assert.assertNotNull(syncClusterClient); + Assert.assertTrue(syncClusterClient instanceof SyncDataClient); + Assert.assertEquals(((SyncDataClient) syncClusterClient).getNode(), defaultNode); + Assert.assertTrue(syncClusterClient.getInputProtocol().getTransport().isOpen()); + ((SyncDataClient) syncClusterClient).returnSelf(); + + // cluster test + Assert.assertNull( + clusterManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); + Assert.assertNull(clusterManager.borrowSyncClient(defaultNode, ClientCategory.META)); + Assert.assertNull( + clusterManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + + Assert.assertNull(clusterManager.borrowAsyncClient(defaultNode, ClientCategory.DATA)); + Assert.assertNull( + clusterManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); + Assert.assertNull(clusterManager.borrowAsyncClient(defaultNode, ClientCategory.META)); + Assert.assertNull( + clusterManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + } finally { + clusterManager.close(); + } // ---------Sync meta(meta heartbeat) clients manager test------------ ClientManager metaManager = new ClientManager(false, ClientManager.Type.MetaGroupClient); - RaftService.Client metaClient = metaManager.borrowSyncClient(defaultNode, ClientCategory.META); - Assert.assertNotNull(metaClient); - Assert.assertTrue(metaClient instanceof SyncMetaClient); - Assert.assertEquals(((SyncMetaClient) metaClient).getNode(), defaultNode); - Assert.assertTrue(metaClient.getInputProtocol().getTransport().isOpen()); - ((SyncMetaClient) metaClient).returnSelf(); - - RaftService.Client metaHeartClient = - metaManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT); - Assert.assertNotNull(metaHeartClient); - Assert.assertTrue(metaHeartClient instanceof SyncMetaClient); - Assert.assertEquals(((SyncMetaClient) metaHeartClient).getNode(), defaultNode); - Assert.assertTrue(metaHeartClient.getInputProtocol().getTransport().isOpen()); - ((SyncMetaClient) metaHeartClient).returnSelf(); - - // cluster test - Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.DATA)); - Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); - - Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.DATA)); - Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); - Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.META)); - Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + try { + RaftService.Client metaClient = + metaManager.borrowSyncClient(defaultNode, ClientCategory.META); + Assert.assertNotNull(metaClient); + Assert.assertTrue(metaClient instanceof SyncMetaClient); + Assert.assertEquals(((SyncMetaClient) metaClient).getNode(), defaultNode); + Assert.assertTrue(metaClient.getInputProtocol().getTransport().isOpen()); + ((SyncMetaClient) metaClient).returnSelf(); + + RaftService.Client metaHeartClient = + metaManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT); + Assert.assertNotNull(metaHeartClient); + Assert.assertTrue(metaHeartClient instanceof SyncMetaClient); + Assert.assertEquals(((SyncMetaClient) metaHeartClient).getNode(), defaultNode); + Assert.assertTrue(metaHeartClient.getInputProtocol().getTransport().isOpen()); + ((SyncMetaClient) metaHeartClient).returnSelf(); + + // cluster test + Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.DATA)); + Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); + + Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.DATA)); + Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); + Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.META)); + Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + } finally { + metaManager.close(); + } // ---------Sync data(data heartbeat) clients manager test------------ ClientManager dataManager = new ClientManager(false, ClientManager.Type.DataGroupClient); - RaftService.Client dataClient = dataManager.borrowSyncClient(defaultNode, ClientCategory.DATA); - Assert.assertNotNull(dataClient); - Assert.assertTrue(dataClient instanceof SyncDataClient); - Assert.assertEquals(((SyncDataClient) dataClient).getNode(), defaultNode); - Assert.assertTrue(dataClient.getInputProtocol().getTransport().isOpen()); - ((SyncDataClient) dataClient).returnSelf(); - - RaftService.Client dataHeartClient = - dataManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT); - Assert.assertNotNull(dataHeartClient); - Assert.assertTrue(dataHeartClient instanceof SyncDataClient); - Assert.assertEquals(((SyncDataClient) dataHeartClient).getNode(), defaultNode); - Assert.assertTrue(dataHeartClient.getInputProtocol().getTransport().isOpen()); - ((SyncDataClient) dataHeartClient).returnSelf(); - - // cluster test - Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.META)); - Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); - - Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.DATA)); - Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); - Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.META)); - Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + try { + RaftService.Client dataClient = + dataManager.borrowSyncClient(defaultNode, ClientCategory.DATA); + Assert.assertNotNull(dataClient); + Assert.assertTrue(dataClient instanceof SyncDataClient); + Assert.assertEquals(((SyncDataClient) dataClient).getNode(), defaultNode); + Assert.assertTrue(dataClient.getInputProtocol().getTransport().isOpen()); + ((SyncDataClient) dataClient).returnSelf(); + + RaftService.Client dataHeartClient = + dataManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT); + Assert.assertNotNull(dataHeartClient); + Assert.assertTrue(dataHeartClient instanceof SyncDataClient); + Assert.assertEquals(((SyncDataClient) dataHeartClient).getNode(), defaultNode); + Assert.assertTrue(dataHeartClient.getInputProtocol().getTransport().isOpen()); + ((SyncDataClient) dataHeartClient).returnSelf(); + + // cluster test + Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.META)); + Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + + Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.DATA)); + Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); + Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.META)); + Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + } finally { + dataManager.close(); + } } @Test public void asyncClientManagersTest() throws Exception { // ---------async cluster clients manager test------------ ClientManager clusterManager = new ClientManager(true, ClientManager.Type.RequestForwardClient); - RaftService.AsyncClient clusterClient = - clusterManager.borrowAsyncClient(defaultNode, ClientCategory.DATA); - - Assert.assertNotNull(clusterClient); - Assert.assertTrue(clusterClient instanceof AsyncDataClient); - Assert.assertEquals(((AsyncDataClient) clusterClient).getNode(), defaultNode); - Assert.assertTrue(((AsyncDataClient) clusterClient).isValid()); - Assert.assertTrue(((AsyncDataClient) clusterClient).isReady()); - - Assert.assertNotSame( - clusterClient, clusterManager.borrowAsyncClient(defaultNode, ClientCategory.DATA)); - - // cluster test - Assert.assertNull(clusterManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); - Assert.assertNull(clusterManager.borrowAsyncClient(defaultNode, ClientCategory.META)); - Assert.assertNull(clusterManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); - - Assert.assertNull(clusterManager.borrowSyncClient(defaultNode, ClientCategory.DATA)); - Assert.assertNull(clusterManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); - Assert.assertNull(clusterManager.borrowSyncClient(defaultNode, ClientCategory.META)); - Assert.assertNull(clusterManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + try { + RaftService.AsyncClient clusterClient = + clusterManager.borrowAsyncClient(defaultNode, ClientCategory.DATA); + + Assert.assertNotNull(clusterClient); + Assert.assertTrue(clusterClient instanceof AsyncDataClient); + Assert.assertEquals(((AsyncDataClient) clusterClient).getNode(), defaultNode); + Assert.assertTrue(((AsyncDataClient) clusterClient).isValid()); + Assert.assertTrue(((AsyncDataClient) clusterClient).isReady()); + + Assert.assertNotSame( + clusterClient, clusterManager.borrowAsyncClient(defaultNode, ClientCategory.DATA)); + + // cluster test + Assert.assertNull( + clusterManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); + Assert.assertNull(clusterManager.borrowAsyncClient(defaultNode, ClientCategory.META)); + Assert.assertNull( + clusterManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + + Assert.assertNull(clusterManager.borrowSyncClient(defaultNode, ClientCategory.DATA)); + Assert.assertNull( + clusterManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); + Assert.assertNull(clusterManager.borrowSyncClient(defaultNode, ClientCategory.META)); + Assert.assertNull( + clusterManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + } finally { + clusterManager.close(); + } // ---------async meta(meta heartbeat) clients manager test------------ ClientManager metaManager = new ClientManager(true, ClientManager.Type.MetaGroupClient); - RaftService.AsyncClient metaClient = - metaManager.borrowAsyncClient(defaultNode, ClientCategory.META); - Assert.assertNotNull(metaClient); - Assert.assertTrue(metaClient instanceof AsyncMetaClient); - Assert.assertEquals(((AsyncMetaClient) metaClient).getNode(), defaultNode); - Assert.assertTrue(((AsyncMetaClient) metaClient).isValid()); - Assert.assertTrue(((AsyncMetaClient) metaClient).isReady()); - - RaftService.AsyncClient metaHeartClient = - metaManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT); - Assert.assertNotNull(metaHeartClient); - Assert.assertTrue(metaHeartClient instanceof AsyncMetaClient); - Assert.assertEquals(((AsyncMetaClient) metaHeartClient).getNode(), defaultNode); - Assert.assertTrue(((AsyncMetaClient) metaHeartClient).isValid()); - Assert.assertTrue(((AsyncMetaClient) metaHeartClient).isReady()); - - // cluster test - Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.DATA)); - Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); - - Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.DATA)); - Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); - Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.META)); - Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + try { + RaftService.AsyncClient metaClient = + metaManager.borrowAsyncClient(defaultNode, ClientCategory.META); + Assert.assertNotNull(metaClient); + Assert.assertTrue(metaClient instanceof AsyncMetaClient); + Assert.assertEquals(((AsyncMetaClient) metaClient).getNode(), defaultNode); + Assert.assertTrue(((AsyncMetaClient) metaClient).isValid()); + Assert.assertTrue(((AsyncMetaClient) metaClient).isReady()); + + RaftService.AsyncClient metaHeartClient = + metaManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT); + Assert.assertNotNull(metaHeartClient); + Assert.assertTrue(metaHeartClient instanceof AsyncMetaClient); + Assert.assertEquals(((AsyncMetaClient) metaHeartClient).getNode(), defaultNode); + Assert.assertTrue(((AsyncMetaClient) metaHeartClient).isValid()); + Assert.assertTrue(((AsyncMetaClient) metaHeartClient).isReady()); + + // cluster test + Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.DATA)); + Assert.assertNull(metaManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); + + Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.DATA)); + Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); + Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.META)); + Assert.assertNull(metaManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + } finally { + metaManager.close(); + } // ---------async data(data heartbeat) clients manager test------------ ClientManager dataManager = new ClientManager(true, ClientManager.Type.DataGroupClient); - RaftService.AsyncClient dataClient = - dataManager.borrowAsyncClient(defaultNode, ClientCategory.DATA); - Assert.assertNotNull(dataClient); - Assert.assertTrue(dataClient instanceof AsyncDataClient); - Assert.assertEquals(((AsyncDataClient) dataClient).getNode(), defaultNode); - Assert.assertTrue(((AsyncDataClient) dataClient).isValid()); - Assert.assertTrue(((AsyncDataClient) dataClient).isReady()); - - RaftService.AsyncClient dataHeartClient = - dataManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT); - Assert.assertNotNull(dataHeartClient); - Assert.assertTrue(dataHeartClient instanceof AsyncDataClient); - Assert.assertEquals(((AsyncDataClient) dataHeartClient).getNode(), defaultNode); - Assert.assertTrue(((AsyncDataClient) dataHeartClient).isValid()); - Assert.assertTrue(((AsyncDataClient) dataHeartClient).isReady()); - - // cluster test - Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.META)); - Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); - - Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.DATA)); - Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); - Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.META)); - Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + try { + RaftService.AsyncClient dataClient = + dataManager.borrowAsyncClient(defaultNode, ClientCategory.DATA); + Assert.assertNotNull(dataClient); + Assert.assertTrue(dataClient instanceof AsyncDataClient); + Assert.assertEquals(((AsyncDataClient) dataClient).getNode(), defaultNode); + Assert.assertTrue(((AsyncDataClient) dataClient).isValid()); + Assert.assertTrue(((AsyncDataClient) dataClient).isReady()); + + RaftService.AsyncClient dataHeartClient = + dataManager.borrowAsyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT); + Assert.assertNotNull(dataHeartClient); + Assert.assertTrue(dataHeartClient instanceof AsyncDataClient); + Assert.assertEquals(((AsyncDataClient) dataHeartClient).getNode(), defaultNode); + Assert.assertTrue(((AsyncDataClient) dataHeartClient).isValid()); + Assert.assertTrue(((AsyncDataClient) dataHeartClient).isReady()); + + // cluster test + Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.META)); + Assert.assertNull(dataManager.borrowAsyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + + Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.DATA)); + Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.DATA_HEARTBEAT)); + Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.META)); + Assert.assertNull(dataManager.borrowSyncClient(defaultNode, ClientCategory.META_HEARTBEAT)); + } finally { + dataManager.close(); + } } } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/client/ClientPoolFactoryTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/ClientPoolFactoryTest.java index f1e313e..f0e5514 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/client/ClientPoolFactoryTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/client/ClientPoolFactoryTest.java @@ -46,7 +46,7 @@ import java.util.NoSuchElementException; public class ClientPoolFactoryTest { private ClusterConfig clusterConfig = ClusterDescriptor.getInstance().getConfig(); - private long mockMaxWaitTimeoutMs = 10 * 1000L; + private long mockMaxWaitTimeoutMs = 1000L; private int mockMaxClientPerMember = 10; private int maxClientPerNodePerMember = clusterConfig.getMaxClientPerNodePerMember(); @@ -102,6 +102,7 @@ public class ClientPoolFactoryTest { Assert.assertTrue(e instanceof NoSuchElementException); } finally { Assert.assertTrue(System.currentTimeMillis() - timeStart + 10 > mockMaxWaitTimeoutMs); + ((BaseFactory) pool.getFactory()).close(); } } @@ -127,6 +128,7 @@ public class ClientPoolFactoryTest { Assert.assertNotNull(client); Assert.assertTrue(clientList.contains(client)); } + ((BaseFactory) pool.getFactory()).close(); } @Test @@ -144,6 +146,7 @@ public class ClientPoolFactoryTest { asyncClient = pool.borrowObject(node); Assert.assertNotNull(asyncClient); Assert.assertTrue(asyncClient instanceof AsyncDataClient); + ((BaseFactory) pool.getFactory()).close(); } @Test @@ -161,6 +164,7 @@ public class ClientPoolFactoryTest { mockClientManager.setAsyncClient(asyncClient); Assert.assertNotNull(asyncClient); Assert.assertTrue(asyncClient instanceof AsyncMetaClient); + ((BaseFactory) pool.getFactory()).close(); } @Test diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/client/MockClientManager.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/MockClientManager.java index c3153a1..4869ea8 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/client/MockClientManager.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/client/MockClientManager.java @@ -44,4 +44,7 @@ public abstract class MockClientManager implements IClientManager { public RaftService.Client borrowSyncClient(Node node, ClientCategory category) { return null; } + + @Override + public void close() {} } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncDataClientTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncDataClientTest.java index e9e1b1a..7ebbb4b 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncDataClientTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncDataClientTest.java @@ -47,6 +47,7 @@ public class AsyncDataClientTest extends BaseClientTest { + "dataPort:40010, clientPort:0, clientIp:localhost),port=40010}", dataClient.toString()); assertCheck(dataClient); + factory.close(); } @Test @@ -62,6 +63,7 @@ public class AsyncDataClientTest extends BaseClientTest { + "dataPort:40010, clientPort:0, clientIp:localhost),port=40011}", dataClient.toString()); assertCheck(dataClient); + factory.close(); } private void assertCheck(AsyncDataClient dataClient) { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java index 7856f99..31f553f 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java @@ -263,7 +263,6 @@ public class LogDispatcherTest { @After public void tearDown() throws Exception { raftMember.stop(); - raftMember.closeLogManager(); EnvironmentUtils.cleanAllDir(); } } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java index 55fb316..0292f54 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java @@ -186,6 +186,9 @@ public class DataLogApplierTest extends IoTDBTest { .setClientManager( new IClientManager() { @Override + public void close() {} + + @Override public AsyncClient borrowAsyncClient(Node node, ClientCategory category) { try { AsyncDataClient dataClient = @@ -285,9 +288,7 @@ public class DataLogApplierTest extends IoTDBTest { @After public void tearDown() throws IOException, StorageEngineException { testDataGroupMember.stop(); - testDataGroupMember.closeLogManager(); testMetaGroupMember.stop(); - testMetaGroupMember.closeLogManager(); super.tearDown(); ClusterIoTDB.getInstance().setClientManager(clientManager); NodeStatusManager.getINSTANCE().setMetaGroupMember(null); diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java index 8d3ffe8..db5360f 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java @@ -76,7 +76,6 @@ public class MetaLogApplierTest extends IoTDBTest { @After public void tearDown() throws IOException, StorageEngineException { testMetaGroupMember.stop(); - testMetaGroupMember.closeLogManager(); super.tearDown(); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java index 9517199..8bf604c 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java @@ -199,7 +199,6 @@ public class CatchUpTaskTest { public void tearDown() throws Exception { IoTDB.metaManager.clear(); sender.stop(); - sender.closeLogManager(); EnvironmentUtils.cleanAllDir(); ClusterDescriptor.getInstance().getConfig().setUseAsyncServer(prevUseAsyncServer); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java index 3fb5d30..0b0abcf 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java @@ -162,7 +162,6 @@ public class LogCatchUpTaskTest { @After public void tearDown() throws Exception { sender.stop(); - sender.closeLogManager(); EnvironmentUtils.cleanAllDir(); ClusterDescriptor.getInstance().getConfig().setUseAsyncServer(prevUseAsyncServer); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java index 008c235..ea20d76 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java @@ -143,7 +143,6 @@ public class SnapshotCatchUpTaskTest { @After public void tearDown() throws Exception { sender.stop(); - sender.closeLogManager(); EnvironmentUtils.cleanAllDir(); ClusterDescriptor.getInstance().getConfig().setUseAsyncServer(prevUseAsyncServer); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/DataSnapshotTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/DataSnapshotTest.java index 937a77a..68b6e76 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/DataSnapshotTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/DataSnapshotTest.java @@ -187,8 +187,6 @@ public abstract class DataSnapshotTest { @After public void tearDown() throws Exception { config.setUseAsyncServer(isAsyncServer); - metaGroupMember.closeLogManager(); - dataGroupMember.closeLogManager(); metaGroupMember.stop(); dataGroupMember.stop(); EnvironmentUtils.cleanEnv(); diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/MetaSimpleSnapshotTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/MetaSimpleSnapshotTest.java index 1c9956f..c0a7bb1 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/MetaSimpleSnapshotTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/MetaSimpleSnapshotTest.java @@ -79,7 +79,6 @@ public class MetaSimpleSnapshotTest extends IoTDBTest { @After public void tearDown() throws IOException, StorageEngineException { metaGroupMember.stop(); - metaGroupMember.closeLogManager(); super.tearDown(); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java index aea2a58..a31f66d 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java @@ -324,8 +324,6 @@ public class PullSnapshotTaskTest extends DataSnapshotTest { @Override @After public void tearDown() throws Exception { - sourceMember.closeLogManager(); - targetMember.closeLogManager(); sourceMember.stop(); targetMember.stop(); super.tearDown(); diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterAggregateExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterAggregateExecutorTest.java index 9063699..a0e822b 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterAggregateExecutorTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterAggregateExecutorTest.java @@ -39,6 +39,7 @@ import org.apache.iotdb.tsfile.read.filter.TimeFilter; import org.apache.iotdb.tsfile.read.filter.ValueFilter; import org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet; +import org.junit.Before; import org.junit.Test; import java.io.IOException; @@ -54,6 +55,12 @@ public class ClusterAggregateExecutorTest extends BaseQueryTest { private ClusterAggregateExecutor executor; + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + } + @Test public void testNoFilter() throws QueryProcessException, StorageEngineException, IOException, IllegalPathException { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/fill/ClusterFillExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/fill/ClusterFillExecutorTest.java index 93ae2fa..8d00649 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/fill/ClusterFillExecutorTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/fill/ClusterFillExecutorTest.java @@ -37,6 +37,7 @@ import org.apache.iotdb.db.query.executor.fill.ValueFill; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; import org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet; +import org.junit.Before; import org.junit.Test; import java.io.IOException; @@ -47,6 +48,12 @@ import static org.junit.Assert.assertFalse; public class ClusterFillExecutorTest extends BaseQueryTest { + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + } + @Test public void testPreviousFill() throws QueryProcessException, StorageEngineException, IOException, IllegalPathException { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByNoVFilterDataSetTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByNoVFilterDataSetTest.java index fa89e9e..cf5fb07 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByNoVFilterDataSetTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByNoVFilterDataSetTest.java @@ -35,6 +35,7 @@ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; import org.apache.iotdb.tsfile.read.expression.impl.GlobalTimeExpression; import org.apache.iotdb.tsfile.read.filter.GroupByFilter; +import org.junit.Before; import org.junit.Test; import java.io.IOException; @@ -45,6 +46,12 @@ import static org.junit.Assert.assertFalse; public class ClusterGroupByNoVFilterDataSetTest extends BaseQueryTest { + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + } + @Test public void test() throws StorageEngineException, IOException, QueryProcessException, IllegalPathException { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByVFilterDataSetTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByVFilterDataSetTest.java index 66938e0..81b1a4a 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByVFilterDataSetTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByVFilterDataSetTest.java @@ -38,6 +38,7 @@ import org.apache.iotdb.tsfile.read.expression.impl.SingleSeriesExpression; import org.apache.iotdb.tsfile.read.filter.TimeFilter; import org.apache.iotdb.tsfile.read.filter.ValueFilter; +import org.junit.Before; import org.junit.Test; import java.io.IOException; @@ -48,6 +49,12 @@ import static org.junit.Assert.assertFalse; public class ClusterGroupByVFilterDataSetTest extends BaseQueryTest { + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + } + @Test public void test() throws IOException, StorageEngineException, QueryProcessException, IllegalPathException { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/MergeGroupByExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/MergeGroupByExecutorTest.java index ae4ab51..bbd3e9c 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/MergeGroupByExecutorTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/MergeGroupByExecutorTest.java @@ -36,6 +36,7 @@ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; import org.apache.iotdb.tsfile.read.filter.TimeFilter; import org.apache.iotdb.tsfile.read.filter.basic.Filter; +import org.junit.Before; import org.junit.Test; import java.io.IOException; @@ -45,6 +46,12 @@ import java.util.Set; public class MergeGroupByExecutorTest extends BaseQueryTest { + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + } + @Test public void testNoTimeFilter() throws QueryProcessException, IOException, IllegalPathException, StorageEngineException { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/RemoteGroupByExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/RemoteGroupByExecutorTest.java index 2ce2e5e..67ed43b 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/RemoteGroupByExecutorTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/RemoteGroupByExecutorTest.java @@ -38,6 +38,7 @@ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; import org.apache.iotdb.tsfile.read.filter.TimeFilter; import org.apache.iotdb.tsfile.read.filter.basic.Filter; +import org.junit.Before; import org.junit.Test; import java.io.IOException; @@ -50,6 +51,12 @@ import static org.junit.Assert.assertTrue; public class RemoteGroupByExecutorTest extends BaseQueryTest { + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + } + @Test public void testNoTimeFilter() throws QueryProcessException, IOException, StorageEngineException, IllegalPathException { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java index 5a71048..b996d3e 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java @@ -36,6 +36,7 @@ import org.apache.iotdb.tsfile.read.expression.impl.GlobalTimeExpression; import org.apache.iotdb.tsfile.read.filter.TimeFilter; import org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet; +import org.junit.Before; import org.junit.Test; import java.io.IOException; @@ -48,6 +49,12 @@ import static org.junit.Assert.assertTrue; public class ClusterLastQueryExecutorTest extends BaseQueryTest { + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + } + @Test public void testLastQueryTimeFilter() throws QueryProcessException, StorageEngineException, IOException, IllegalPathException { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactoryTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactoryTest.java index 85147bb..eb48d6f 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactoryTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactoryTest.java @@ -30,6 +30,7 @@ import org.apache.iotdb.db.metadata.path.PartialPath; import org.apache.iotdb.db.query.control.QueryResourceManager; import org.apache.iotdb.db.query.reader.series.SeriesRawDataBatchReader; +import org.junit.Before; import org.junit.Test; import java.io.IOException; @@ -41,6 +42,12 @@ import static org.junit.Assert.assertNull; public class ClusterReaderFactoryTest extends BaseQueryTest { + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + } + @Test public void testTTL() throws StorageEngineException, MetadataException, QueryProcessException, IOException { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterTimeGeneratorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterTimeGeneratorTest.java index 3946631..4b250e9 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterTimeGeneratorTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterTimeGeneratorTest.java @@ -41,6 +41,7 @@ import org.apache.iotdb.tsfile.read.filter.ValueFilter; import org.apache.iotdb.tsfile.read.filter.basic.Filter; import org.apache.iotdb.tsfile.read.filter.operator.AndFilter; +import org.junit.Before; import org.junit.Test; import java.io.IOException; @@ -53,6 +54,12 @@ import static org.junit.Assert.assertTrue; public class ClusterTimeGeneratorTest extends BaseQueryTest { + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + } + @Test public void test() throws StorageEngineException, IOException, IllegalPathException, QueryProcessException { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/DatasourceInfoTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/DatasourceInfoTest.java index b066a21..e1bea55 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/DatasourceInfoTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/DatasourceInfoTest.java @@ -57,6 +57,9 @@ public class DatasourceInfoTest { .setClientManager( new IClientManager() { @Override + public void close() {} + + @Override public RaftService.AsyncClient borrowAsyncClient(Node node, ClientCategory category) throws IOException { return new AsyncDataClient(null, null, TestUtils.getNode(0), null) { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSeriesReaderByTimestampTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSeriesReaderByTimestampTest.java index 25dc9f6..5b010e2 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSeriesReaderByTimestampTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSeriesReaderByTimestampTest.java @@ -69,6 +69,9 @@ public class RemoteSeriesReaderByTimestampTest { .setClientManager( new IClientManager() { @Override + public void close() {} + + @Override public RaftService.AsyncClient borrowAsyncClient(Node node, ClientCategory category) throws IOException { return new AsyncDataClient(null, null, node, ClientCategory.DATA) { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSimpleSeriesReaderTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSimpleSeriesReaderTest.java index a9af2fb..8ba4021 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSimpleSeriesReaderTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSimpleSeriesReaderTest.java @@ -123,6 +123,9 @@ public class RemoteSimpleSeriesReaderTest { } @Override + public void close() {} + + @Override public RaftService.Client borrowSyncClient(Node node, ClientCategory category) { return null; } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/AssignPathManagedMergeReaderTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/AssignPathManagedMergeReaderTest.java index 1cce03c..4ee0965 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/AssignPathManagedMergeReaderTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/AssignPathManagedMergeReaderTest.java @@ -184,6 +184,9 @@ public class AssignPathManagedMergeReaderTest { } @Override + public void close() {} + + @Override public RaftService.Client borrowSyncClient(Node node, ClientCategory category) { return null; } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/RemoteMultSeriesReaderTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/RemoteMultSeriesReaderTest.java index 210d0db..9797c7c 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/RemoteMultSeriesReaderTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/reader/mult/RemoteMultSeriesReaderTest.java @@ -252,6 +252,9 @@ public class RemoteMultSeriesReaderTest { } @Override + public void close() {} + + @Override public RaftService.Client borrowSyncClient(Node node, ClientCategory category) { return null; } @@ -277,6 +280,9 @@ public class RemoteMultSeriesReaderTest { } @Override + public void close() {} + + @Override public RaftService.Client borrowSyncClient(Node node, ClientCategory category) throws IOException { try { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServerTest.java index b1aa89b..b3689fd 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServerTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServerTest.java @@ -50,7 +50,7 @@ public class ClusterInfoServerTest { } @After - public void tearDown() throws MetadataException, IOException, StorageEngineException { + public void tearDown() throws Exception { test.tearDown(); service.stop(); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServiceImplTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServiceImplTest.java index be2ef05..cce2f05 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServiceImplTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/clusterinfo/ClusterInfoServiceImplTest.java @@ -42,10 +42,11 @@ import java.util.List; public class ClusterInfoServiceImplTest { ClusterInfoServiceImpl impl; + MetaGroupMemberTest metaGroupMemberTest; @Before public void setUp() throws Exception { - MetaGroupMemberTest metaGroupMemberTest = new MetaGroupMemberTest(); + metaGroupMemberTest = new MetaGroupMemberTest(); // will create a cluster with 10 nodes, ip: 0,10,20,...100 metaGroupMemberTest.setUp(); MetaGroupMember metaGroupMember = metaGroupMemberTest.getTestMetaGroupMember(); @@ -61,11 +62,12 @@ public class ClusterInfoServiceImplTest { } @After - public void tearDown() throws MetadataException, IOException, StorageEngineException { + public void tearDown() throws Exception { ClusterIoTDB.getInstance() .getIotdb() .metaManager .deleteStorageGroups(Collections.singletonList(new PartialPath("root", "sg"))); + metaGroupMemberTest.tearDown(); ClusterIoTDB.getInstance().getMetaGroupMember().stop(); EnvironmentUtils.cleanEnv(); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendGroupEntryHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendGroupEntryHandlerTest.java index e468560..c66c941 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendGroupEntryHandlerTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendGroupEntryHandlerTest.java @@ -60,7 +60,6 @@ public class AppendGroupEntryHandlerTest { public void tearDown() throws IOException, StorageEngineException { ClusterDescriptor.getInstance().getConfig().setReplicationNum(prevReplicationNum); member.stop(); - member.closeLogManager(); EnvironmentUtils.cleanAllDir(); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java index 6ee92f5..6940fda 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java @@ -55,7 +55,6 @@ public class AppendNodeEntryHandlerTest { @After public void tearDown() throws IOException, StorageEngineException { - member.closeLogManager(); member.stop(); EnvironmentUtils.cleanAllDir(); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/ElectionHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/ElectionHandlerTest.java index 184c98c..0354bc8 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/ElectionHandlerTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/ElectionHandlerTest.java @@ -50,7 +50,6 @@ public class ElectionHandlerTest { @After public void tearDown() throws IOException, StorageEngineException { - member.closeLogManager(); member.stop(); EnvironmentUtils.cleanAllDir(); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java index d6b4ecf..cc533a9 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java @@ -65,7 +65,6 @@ public class HeartbeatHandlerTest { @After public void tearDown() throws IOException, StorageEngineException { - metaGroupMember.closeLogManager(); metaGroupMember.stop(); EnvironmentUtils.cleanAllDir(); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpHandlerTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpHandlerTest.java index bf4c12b..2e73b14 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpHandlerTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpHandlerTest.java @@ -52,7 +52,6 @@ public class LogCatchUpHandlerTest { @After public void tearDown() throws IOException, StorageEngineException { - member.closeLogManager(); member.stop(); EnvironmentUtils.cleanAllDir(); } diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThreadTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThreadTest.java index adb8a54..ee7950c 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThreadTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThreadTest.java @@ -143,7 +143,7 @@ public class DataHeartbeatThreadTest extends HeartbeatThreadTest { public void tearDown() throws InterruptedException, IOException, StorageEngineException { dataLogManager.close(); dataLogManager = null; - metaGroupMember.closeLogManager(); + metaGroupMember.stop(); metaGroupMember = null; File dir = new File(SyncLogDequeSerializer.getLogDir(2)); for (File file : dir.listFiles()) { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java index 31c014f..ede7d34 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java @@ -169,7 +169,6 @@ public class HeartbeatThreadTest { @After public void tearDown() throws InterruptedException, IOException, StorageEngineException { logManager.close(); - member.closeLogManager(); member.stop(); logManager = null; member = null; diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/BaseMember.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/BaseMember.java index a918a58..da3d6d8 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/BaseMember.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/BaseMember.java @@ -23,6 +23,7 @@ import org.apache.iotdb.cluster.ClusterIoTDB; import org.apache.iotdb.cluster.client.ClientCategory; import org.apache.iotdb.cluster.client.ClientManager; import org.apache.iotdb.cluster.client.ClientManager.Type; +import org.apache.iotdb.cluster.client.IClientManager; import org.apache.iotdb.cluster.common.TestAsyncDataClient; import org.apache.iotdb.cluster.common.TestAsyncMetaClient; import org.apache.iotdb.cluster.common.TestDataGroupMember; @@ -100,6 +101,8 @@ public class BaseMember { private long heartBeatInterval; private long electionTimeout; + private IClientManager prevClientManager; + @Before public void setUp() throws Exception, QueryProcessException { prevUseAsyncApplier = ClusterDescriptor.getInstance().getConfig().isUseAsyncApplier(); @@ -180,16 +183,22 @@ public class BaseMember { public void tearDown() throws Exception { testMetaMember.stop(); metaLogManager.close(); + for (DataGroupMember member : dataGroupMemberMap.values()) { member.stop(); - member.closeLogManager(); } dataGroupMemberMap.clear(); for (MetaGroupMember member : metaGroupMemberMap.values()) { member.stop(); - member.closeLogManager(); } metaGroupMemberMap.clear(); + + if (prevClientManager != null) { + ClusterIoTDB.getInstance().getClientManager().close(); + ClusterIoTDB.getInstance().setClientManager(prevClientManager); + prevClientManager = null; + } + RegisterManager.setDeregisterTimeOut(100); EnvironmentUtils.cleanEnv(); ClusterDescriptor.getInstance().getConfig().setSeedNodeUrls(prevUrls); @@ -312,7 +321,8 @@ public class BaseMember { ret.setLeader(node); ret.setCharacter(NodeCharacter.LEADER); ret.setAppendLogThreadPool(testThreadPool); - // TODO fixme : restore normal provider + + prevClientManager = ClusterIoTDB.getInstance().getClientManager(); ClusterIoTDB.getInstance() .setClientManager( new ClientManager(true, Type.RequestForwardClient) { diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java index cb8ae04..34c1458 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java @@ -342,9 +342,9 @@ public class DataGroupMemberTest extends BaseMember { assertFalse(firstMember.addNode(newNodeAfterGroup, result)); assertFalse(midMember.addNode(newNodeAfterGroup, result)); } finally { - firstMember.closeLogManager(); - midMember.closeLogManager(); - lastMember.closeLogManager(); + firstMember.stop(); + midMember.stop(); + lastMember.stop(); } } @@ -627,7 +627,6 @@ public class DataGroupMemberTest extends BaseMember { Collections.emptyMap(), Collections.emptyMap(), null); - testMetaMember = super.getMetaGroupMember(TestUtils.getNode(0)); testMetaMember.setPartitionTable(partitionTable); dataGroupMember.setLogManager( getLogManager( @@ -1206,7 +1205,7 @@ public class DataGroupMemberTest extends BaseMember { answers = new Object[] {15.0, 12.0, 180.0, 5.0, 19.0, 19.0, 5.0, 19.0, 5.0, 19.0}; checkAggregates(answers, aggregateResults); } finally { - dataGroupMember.closeLogManager(); + dataGroupMember.stop(); } // get an executor from a node not holding this timeseries @@ -1230,7 +1229,7 @@ public class DataGroupMemberTest extends BaseMember { byteBuffers = aggrResultRef.get(); assertNull(byteBuffers); } finally { - dataGroupMember.closeLogManager(); + dataGroupMember.stop(); } } finally { QueryResourceManager.getInstance().endQuery(queryContext.getQueryId()); diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java index 44b0538..736b269 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java @@ -220,6 +220,9 @@ public class MetaGroupMemberTest extends BaseMember { @Override public void returnSyncClient( RaftService.Client client, Node node, ClientCategory category) {} + + @Override + public void close() {} }); testMetaMember.getThisNode().setNodeIdentifier(0); testMetaMember.setRouter(new ClusterPlanRouter(testMetaMember.getPartitionTable())); @@ -724,7 +727,7 @@ public class MetaGroupMemberTest extends BaseMember { } catch (Exception e) { assertTrue(e instanceof StartUpCheckFailureException); } finally { - newMember.closeLogManager(); + newMember.stop(); ClusterConstant.setHeartbeatIntervalMs(prevInterval); } } @@ -928,6 +931,9 @@ public class MetaGroupMemberTest extends BaseMember { @Override public void returnSyncClient( RaftService.Client client, Node node, ClientCategory category) {} + + @Override + public void close() {} }); status = coordinator.executeNonQueryPlan(createTimeSeriesPlan); if (status.getCode() == TSStatusCode.NEED_REDIRECTION.getStatusCode()) { @@ -937,6 +943,8 @@ public class MetaGroupMemberTest extends BaseMember { assertTrue(IoTDB.metaManager.isPathExist(new PartialPath(TestUtils.getTestSeries(i, 0)))); } testThreadPool.shutdownNow(); + + testMetaMember2.stop(); } @Test @@ -1316,7 +1324,7 @@ public class MetaGroupMemberTest extends BaseMember { } MetaGroupMember metaGroupMember = getMetaGroupMember(new Node()); assertEquals(100, metaGroupMember.getThisNode().getNodeIdentifier()); - metaGroupMember.closeLogManager(); + metaGroupMember.stop(); } @Test diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/RaftMemberTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/RaftMemberTest.java index b94da9e..fb0cab0 100644 --- a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/RaftMemberTest.java +++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/RaftMemberTest.java @@ -34,13 +34,28 @@ import org.apache.iotdb.cluster.rpc.thrift.RequestCommitIndexResponse; import org.apache.iotdb.cluster.server.NodeCharacter; import org.apache.iotdb.cluster.server.Response; +import org.junit.After; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import java.io.IOException; public class RaftMemberTest extends BaseMember { + + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + } + + @Override + @After + public void tearDown() throws Exception { + super.tearDown(); + } + @Test public void testsyncLeaderStrongConsistencyCheckFalse() { // 1. write request : Strong consistency level with syncLeader false
