You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by jx...@apache.org on 2018/07/13 20:41:12 UTC
[3/5] helix git commit: Properly remove clusters after each test,
and clean up duplicated codes in tests and move them into base test
classes.
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/common/ZkIntegrationTestBase.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/common/ZkIntegrationTestBase.java b/helix-core/src/test/java/org/apache/helix/integration/common/ZkIntegrationTestBase.java
deleted file mode 100644
index 85b4d45..0000000
--- a/helix-core/src/test/java/org/apache/helix/integration/common/ZkIntegrationTestBase.java
+++ /dev/null
@@ -1,322 +0,0 @@
-package org.apache.helix.integration.common;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.lang.reflect.Method;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.logging.Level;
-import org.I0Itec.zkclient.ZkServer;
-import org.apache.helix.BaseDataAccessor;
-import org.apache.helix.ConfigAccessor;
-import org.apache.helix.HelixManager;
-import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.TestHelper;
-import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.pipeline.AbstractAsyncBaseStage;
-import org.apache.helix.controller.pipeline.Stage;
-import org.apache.helix.controller.pipeline.StageContext;
-import org.apache.helix.controller.rebalancer.DelayedAutoRebalancer;
-import org.apache.helix.controller.rebalancer.strategy.AutoRebalanceStrategy;
-import org.apache.helix.controller.stages.AttributeName;
-import org.apache.helix.controller.stages.ClusterEvent;
-import org.apache.helix.manager.zk.ZKHelixDataAccessor;
-import org.apache.helix.manager.zk.ZNRecordSerializer;
-import org.apache.helix.manager.zk.ZkBaseDataAccessor;
-import org.apache.helix.manager.zk.ZkClient;
-import org.apache.helix.model.BuiltInStateModelDefinitions;
-import org.apache.helix.model.ClusterConfig;
-import org.apache.helix.model.ConfigScope;
-import org.apache.helix.model.ExternalView;
-import org.apache.helix.model.IdealState;
-import org.apache.helix.model.InstanceConfig;
-import org.apache.helix.model.LiveInstance;
-import org.apache.helix.model.OnlineOfflineSMD;
-import org.apache.helix.model.StateModelDefinition;
-import org.apache.helix.model.builder.ConfigScopeBuilder;
-import org.apache.helix.tools.ClusterSetup;
-import org.apache.helix.util.ZKClientPool;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.Assert;
-import org.testng.AssertJUnit;
-import org.testng.ITestContext;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.AfterSuite;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.BeforeSuite;
-
-public class ZkIntegrationTestBase {
- private static Logger LOG = LoggerFactory.getLogger(ZkIntegrationTestBase.class);
-
- protected static ZkServer _zkServer;
- protected static ZkClient _gZkClient;
- protected static ClusterSetup _gSetupTool;
- protected static BaseDataAccessor<ZNRecord> _baseAccessor;
-
- public static final String ZK_ADDR = "localhost:2183";
- protected static final String CLUSTER_PREFIX = "CLUSTER";
- protected static final String CONTROLLER_CLUSTER_PREFIX = "CONTROLLER_CLUSTER";
-
- protected final String CONTROLLER_PREFIX = "controller";
- protected final String PARTICIPANT_PREFIX = "localhost";
-
- @BeforeSuite
- public void beforeSuite() throws Exception {
- // TODO: use logging.properties file to config java.util.logging.Logger levels
- java.util.logging.Logger topJavaLogger = java.util.logging.Logger.getLogger("");
- topJavaLogger.setLevel(Level.WARNING);
-
- // Due to ZOOKEEPER-2693 fix, we need to specify whitelist for execute zk commends
- System.setProperty("zookeeper.4lw.commands.whitelist", "*");
-
- _zkServer = TestHelper.startZkServer(ZK_ADDR);
- AssertJUnit.assertTrue(_zkServer != null);
- ZKClientPool.reset();
-
- _gZkClient = new ZkClient(ZK_ADDR);
- _gZkClient.setZkSerializer(new ZNRecordSerializer());
- _gSetupTool = new ClusterSetup(_gZkClient);
- _baseAccessor = new ZkBaseDataAccessor<>(_gZkClient);
- }
-
- @AfterSuite
- public void afterSuite() {
- ZKClientPool.reset();
- _gZkClient.close();
- TestHelper.stopZkServer(_zkServer);
- }
-
- @BeforeMethod
- public void beforeTest(Method testMethod, ITestContext testContext){
- long startTime = System.currentTimeMillis();
- System.out.println("START " + testMethod.getName() + " at " + new Date(startTime));
- testContext.setAttribute("StartTime", System.currentTimeMillis());
- }
-
- @AfterMethod
- public void endTest(Method testMethod, ITestContext testContext) {
- Long startTime = (Long) testContext.getAttribute("StartTime");
- long endTime = System.currentTimeMillis();
- System.out.println(
- "END " + testMethod.getName() + " at " + new Date(endTime) + ", took: " + (endTime - startTime) + "ms.");
- }
-
- protected String getShortClassName() {
- return this.getClass().getSimpleName();
- }
-
- protected String getCurrentLeader(ZkClient zkClient, String clusterName) {
- ZKHelixDataAccessor accessor =
- new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(zkClient));
- Builder keyBuilder = accessor.keyBuilder();
-
- LiveInstance leader = accessor.getProperty(keyBuilder.controllerLeader());
- if (leader == null) {
- return null;
- }
- return leader.getInstanceName();
- }
-
- protected void enableHealthCheck(String clusterName) {
- ConfigScope scope = new ConfigScopeBuilder().forCluster(clusterName).build();
- new ConfigAccessor(_gZkClient).set(scope, "healthChange" + ".enabled", "" + true);
- }
-
- protected void enablePersistBestPossibleAssignment(ZkClient zkClient, String clusterName,
- Boolean enabled) {
- ConfigAccessor configAccessor = new ConfigAccessor(zkClient);
- ClusterConfig clusterConfig = configAccessor.getClusterConfig(clusterName);
- clusterConfig.setPersistBestPossibleAssignment(enabled);
- configAccessor.setClusterConfig(clusterName, clusterConfig);
- }
-
- protected void enablePersistIntermediateAssignment(ZkClient zkClient, String clusterName,
- Boolean enabled) {
- ConfigAccessor configAccessor = new ConfigAccessor(zkClient);
- ClusterConfig clusterConfig = configAccessor.getClusterConfig(clusterName);
- clusterConfig.setPersistIntermediateAssignment(enabled);
- configAccessor.setClusterConfig(clusterName, clusterConfig);
- }
-
- protected void enableTopologyAwareRebalance(ZkClient zkClient, String clusterName,
- Boolean enabled) {
- ConfigAccessor configAccessor = new ConfigAccessor(zkClient);
- ClusterConfig clusterConfig = configAccessor.getClusterConfig(clusterName);
- clusterConfig.setTopologyAwareEnabled(enabled);
- configAccessor.setClusterConfig(clusterName, clusterConfig);
- }
-
- protected void enableDelayRebalanceInCluster(ZkClient zkClient, String clusterName,
- boolean enabled) {
- ConfigAccessor configAccessor = new ConfigAccessor(zkClient);
- ClusterConfig clusterConfig = configAccessor.getClusterConfig(clusterName);
- clusterConfig.setDelayRebalaceEnabled(enabled);
- configAccessor.setClusterConfig(clusterName, clusterConfig);
- }
-
- protected void enableDelayRebalanceInInstance(ZkClient zkClient, String clusterName,
- String instanceName, boolean enabled) {
- ConfigAccessor configAccessor = new ConfigAccessor(zkClient);
- InstanceConfig instanceConfig = configAccessor.getInstanceConfig(clusterName, instanceName);
- instanceConfig.setDelayRebalanceEnabled(enabled);
- configAccessor.setInstanceConfig(clusterName, instanceName, instanceConfig);
- }
-
- protected void setDelayTimeInCluster(ZkClient zkClient, String clusterName, long delay) {
- ConfigAccessor configAccessor = new ConfigAccessor(zkClient);
- ClusterConfig clusterConfig = configAccessor.getClusterConfig(clusterName);
- clusterConfig.setRebalanceDelayTime(delay);
- configAccessor.setClusterConfig(clusterName, clusterConfig);
- }
-
- protected IdealState createResourceWithDelayedRebalance(String clusterName, String db,
- String stateModel, int numPartition, int replica, int minActiveReplica, long delay) {
- return createResourceWithDelayedRebalance(clusterName, db, stateModel, numPartition, replica,
- minActiveReplica, delay, AutoRebalanceStrategy.class.getName());
- }
-
- protected IdealState createResourceWithDelayedRebalance(String clusterName, String db,
- String stateModel, int numPartition, int replica, int minActiveReplica, long delay,
- String rebalanceStrategy) {
- IdealState idealState =
- _gSetupTool.getClusterManagementTool().getResourceIdealState(clusterName, db);
- if (idealState == null) {
- _gSetupTool.addResourceToCluster(clusterName, db, numPartition, stateModel,
- IdealState.RebalanceMode.FULL_AUTO + "", rebalanceStrategy);
- }
-
- idealState =
- _gSetupTool.getClusterManagementTool().getResourceIdealState(clusterName, db);
- idealState.setMinActiveReplicas(minActiveReplica);
- if (!idealState.isDelayRebalanceEnabled()) {
- idealState.setDelayRebalanceEnabled(true);
- }
- if (delay > 0) {
- idealState.setRebalanceDelay(delay);
- }
- idealState.setRebalancerClassName(DelayedAutoRebalancer.class.getName());
- _gSetupTool.getClusterManagementTool().setResourceIdealState(clusterName, db, idealState);
- _gSetupTool.rebalanceStorageCluster(clusterName, db, replica);
- idealState =
- _gSetupTool.getClusterManagementTool().getResourceIdealState(clusterName, db);
-
- return idealState;
- }
-
- protected IdealState createIdealState(String resourceGroupName, String instanceGroupTag,
- List<String> instanceNames, int numPartition, int replica, String rebalanceMode,
- String stateModelDef) {
- IdealState is = _gSetupTool
- .createIdealStateForResourceGroup(resourceGroupName, instanceGroupTag, numPartition,
- replica, rebalanceMode, stateModelDef);
-
- // setup initial partition->instance mapping.
- int nodeIdx = 0;
- int numNode = instanceNames.size();
- assert (numNode >= replica);
- for (int i = 0; i < numPartition; i++) {
- String partitionName = resourceGroupName + "_" + i;
- for (int j = 0; j < replica; j++) {
- is.setPartitionState(partitionName, instanceNames.get((nodeIdx + j) % numNode),
- OnlineOfflineSMD.States.ONLINE.toString());
- }
- nodeIdx++;
- }
-
- return is;
- }
-
- protected void createDBInSemiAuto(ClusterSetup clusterSetup, String clusterName, String dbName,
- List<String> preferenceList, String stateModelDef, int numPartition, int replica) {
- clusterSetup.addResourceToCluster(clusterName, dbName, numPartition, stateModelDef,
- IdealState.RebalanceMode.SEMI_AUTO.toString());
- clusterSetup.rebalanceStorageCluster(clusterName, dbName, replica);
-
- IdealState is =
- _gSetupTool.getClusterManagementTool().getResourceIdealState(clusterName, dbName);
- for (String p : is.getPartitionSet()) {
- is.setPreferenceList(p, preferenceList);
- }
- clusterSetup.getClusterManagementTool().setResourceIdealState(clusterName, dbName, is);
- }
-
- /**
- * Validate there should be always minimal active replica and top state replica for each partition.
- * Also make sure there is always some partitions with only active replica count.
- */
- protected void validateMinActiveAndTopStateReplica(IdealState is, ExternalView ev,
- int minActiveReplica, int numNodes) {
- StateModelDefinition stateModelDef =
- BuiltInStateModelDefinitions.valueOf(is.getStateModelDefRef()).getStateModelDefinition();
- String topState = stateModelDef.getStatesPriorityList().get(0);
- int replica = Integer.valueOf(is.getReplicas());
-
- Map<String, Integer> stateCount =
- stateModelDef.getStateCountMap(numNodes, replica);
- Set<String> activeStates = stateCount.keySet();
-
- for (String partition : is.getPartitionSet()) {
- Map<String, String> assignmentMap = ev.getRecord().getMapField(partition);
- Assert.assertNotNull(assignmentMap,
- is.getResourceName() + "'s best possible assignment is null for partition " + partition);
- Assert.assertTrue(!assignmentMap.isEmpty(),
- is.getResourceName() + "'s partition " + partition + " has no best possible map in IS.");
-
- boolean hasTopState = false;
- int activeReplica = 0;
- for (String state : assignmentMap.values()) {
- if (topState.equalsIgnoreCase(state)) {
- hasTopState = true;
- }
- if (activeStates.contains(state)) {
- activeReplica++;
- }
- }
-
- if (activeReplica < minActiveReplica) {
- int a = 0;
- }
-
- Assert.assertTrue(hasTopState, String.format("%s missing %s replica", partition, topState));
- Assert.assertTrue(activeReplica >= minActiveReplica, String
- .format("%s has less active replica %d then required %d", partition, activeReplica,
- minActiveReplica));
- }
- }
-
- protected void runStage(HelixManager manager, ClusterEvent event, Stage stage) throws Exception {
- event.addAttribute(AttributeName.helixmanager.name(), manager);
- StageContext context = new StageContext();
- stage.init(context);
- stage.preProcess();
-
- // AbstractAsyncBaseStage will run asynchronously, and it's main logics are implemented in
- // execute() function call
- if (stage instanceof AbstractAsyncBaseStage) {
- ((AbstractAsyncBaseStage) stage).execute(event);
- } else {
- stage.process(event);
- }
- stage.postProcess();
- }
-}
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/common/ZkStandAloneCMTestBase.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/common/ZkStandAloneCMTestBase.java b/helix-core/src/test/java/org/apache/helix/integration/common/ZkStandAloneCMTestBase.java
index 4027984..3cbffe1 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/common/ZkStandAloneCMTestBase.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/common/ZkStandAloneCMTestBase.java
@@ -24,12 +24,14 @@ import java.util.Date;
import org.apache.helix.HelixManager;
import org.apache.helix.HelixManagerFactory;
import org.apache.helix.InstanceType;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.integration.manager.ClusterControllerManager;
import org.apache.helix.integration.manager.MockParticipantManager;
-import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.tools.ClusterStateVerifier;
import org.apache.helix.tools.ClusterStateVerifier.BestPossAndExtViewZkVerifier;
import org.apache.helix.tools.ClusterStateVerifier.MasterNbInExtViewVerifier;
+import org.apache.helix.tools.ClusterVerifiers.BestPossibleExternalViewVerifier;
+import org.apache.helix.tools.ClusterVerifiers.HelixClusterVerifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
@@ -41,7 +43,7 @@ import org.testng.annotations.BeforeClass;
* start 5 dummy participants verify the current states at end
*/
-public class ZkStandAloneCMTestBase extends ZkIntegrationTestBase {
+public class ZkStandAloneCMTestBase extends ZkTestBase {
private static Logger LOG = LoggerFactory.getLogger(ZkStandAloneCMTestBase.class);
protected static final int NODE_NR = 5;
@@ -50,11 +52,12 @@ public class ZkStandAloneCMTestBase extends ZkIntegrationTestBase {
protected static final String TEST_DB = "TestDB";
protected static final int _PARTITIONS = 20;
- protected ClusterSetup _setupTool;
protected HelixManager _manager;
protected final String CLASS_NAME = getShortClassName();
protected final String CLUSTER_NAME = CLUSTER_PREFIX + "_" + CLASS_NAME;
+ HelixClusterVerifier _clusterVerifier;
+
protected MockParticipantManager[] _participants = new MockParticipantManager[NODE_NR];
protected ClusterControllerManager _controller;
@@ -65,20 +68,14 @@ public class ZkStandAloneCMTestBase extends ZkIntegrationTestBase {
// Logger.getRootLogger().setLevel(Level.INFO);
System.out.println("START " + CLASS_NAME + " at " + new Date(System.currentTimeMillis()));
- String namespace = "/" + CLUSTER_NAME;
- if (_gZkClient.exists(namespace)) {
- _gZkClient.deleteRecursively(namespace);
- }
- _setupTool = new ClusterSetup(ZK_ADDR);
-
// setup storage cluster
- _setupTool.addCluster(CLUSTER_NAME, true);
- _setupTool.addResourceToCluster(CLUSTER_NAME, TEST_DB, _PARTITIONS, STATE_MODEL);
+ _gSetupTool.addCluster(CLUSTER_NAME, true);
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, TEST_DB, _PARTITIONS, STATE_MODEL);
for (int i = 0; i < NODE_NR; i++) {
String storageNodeName = PARTICIPANT_PREFIX + "_" + (START_PORT + i);
- _setupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
+ _gSetupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
}
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, TEST_DB, _replica);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, TEST_DB, _replica);
// start dummy participants
for (int i = 0; i < NODE_NR; i++) {
@@ -96,6 +93,8 @@ public class ZkStandAloneCMTestBase extends ZkIntegrationTestBase {
ClusterStateVerifier
.verifyByZkCallback(new MasterNbInExtViewVerifier(ZK_ADDR, CLUSTER_NAME));
+ _clusterVerifier = new BestPossibleExternalViewVerifier.Builder(CLUSTER_NAME).setZkAddr(ZK_ADDR).build();
+
Assert.assertTrue(result);
result =
@@ -114,7 +113,6 @@ public class ZkStandAloneCMTestBase extends ZkIntegrationTestBase {
/**
* shutdown order: 1) disconnect the controller 2) disconnect participants
*/
-
if (_controller != null && _controller.isConnected()) {
_controller.syncStop();
}
@@ -127,6 +125,16 @@ public class ZkStandAloneCMTestBase extends ZkIntegrationTestBase {
_manager.disconnect();
}
+ String namespace = "/" + CLUSTER_NAME;
+ if (_gZkClient.exists(namespace)) {
+ try {
+ _gSetupTool.deleteCluster(CLUSTER_NAME);
+ } catch (Exception ex) {
+ System.err.println(
+ "Failed to delete cluster " + CLUSTER_NAME + ", error: " + ex.getLocalizedMessage());
+ }
+ }
+
System.out.println("END " + CLASS_NAME + " at " + new Date(System.currentTimeMillis()));
}
}
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterDataCacheSelectiveUpdate.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterDataCacheSelectiveUpdate.java b/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterDataCacheSelectiveUpdate.java
index b032513..6202f84 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterDataCacheSelectiveUpdate.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterDataCacheSelectiveUpdate.java
@@ -100,8 +100,8 @@ public class TestClusterDataCacheSelectiveUpdate extends ZkStandAloneCMTestBase
Assert.assertEquals(accessor.getReadCount(PropertyType.CONFIGS), 1);
// add a new resource
- _setupTool.addResourceToCluster(CLUSTER_NAME, "TestDB_1", _PARTITIONS, STATE_MODEL);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, "TestDB_1", _replica);
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, "TestDB_1", _PARTITIONS, STATE_MODEL);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, "TestDB_1", _replica);
Thread.sleep(100);
HelixClusterVerifier _clusterVerifier =
@@ -119,10 +119,10 @@ public class TestClusterDataCacheSelectiveUpdate extends ZkStandAloneCMTestBase
// Add more resources
accessor.clearReadCounters();
- _setupTool.addResourceToCluster(CLUSTER_NAME, "TestDB_2", _PARTITIONS, STATE_MODEL);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, "TestDB_2", _replica);
- _setupTool.addResourceToCluster(CLUSTER_NAME, "TestDB_3", _PARTITIONS, STATE_MODEL);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, "TestDB_3", _replica);
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, "TestDB_2", _PARTITIONS, STATE_MODEL);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, "TestDB_2", _replica);
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, "TestDB_3", _PARTITIONS, STATE_MODEL);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, "TestDB_3", _replica);
// Totally four resources. Two of them are newly added.
cache.notifyDataChange(HelixConstants.ChangeType.IDEAL_STATE);
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterMaintenanceMode.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterMaintenanceMode.java b/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterMaintenanceMode.java
index 3949183..e643c9a 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterMaintenanceMode.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/controller/TestClusterMaintenanceMode.java
@@ -7,10 +7,13 @@ import org.apache.helix.integration.task.WorkflowGenerator;
import org.apache.helix.model.ExternalView;
import org.apache.helix.model.IdealState;
import org.testng.Assert;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class TestClusterMaintenanceMode extends TaskTestBase {
+ MockParticipantManager _newInstance;
+
@BeforeClass
public void beforeClass() throws Exception {
_numDbs = 1;
@@ -20,6 +23,14 @@ public class TestClusterMaintenanceMode extends TaskTestBase {
super.beforeClass();
}
+ @AfterClass
+ public void afterClass() throws Exception {
+ if (_newInstance != null && _newInstance.isConnected()) {
+ _newInstance.syncStop();
+ }
+ super.afterClass();
+ }
+
@Test
public void testMaintenanceModeAddNewInstance() throws InterruptedException {
_gSetupTool.getClusterManagementTool().enableMaintenanceMode(CLUSTER_NAME, true, "Test");
@@ -27,10 +38,10 @@ public class TestClusterMaintenanceMode extends TaskTestBase {
ExternalView prevExternalView = _gSetupTool.getClusterManagementTool()
.getResourceExternalView(CLUSTER_NAME, WorkflowGenerator.DEFAULT_TGT_DB);
String instanceName = PARTICIPANT_PREFIX + "_" + (_startPort + 10);
- _setupTool.addInstanceToCluster(CLUSTER_NAME, instanceName);
- MockParticipantManager newInstance =
+ _gSetupTool.addInstanceToCluster(CLUSTER_NAME, instanceName);
+ _newInstance =
new MockParticipantManager(ZK_ADDR, CLUSTER_NAME, instanceName);
- newInstance.syncStart();
+ _newInstance.syncStart();
_gSetupTool.getClusterManagementTool()
.rebalance(CLUSTER_NAME, WorkflowGenerator.DEFAULT_TGT_DB, 3);
Thread.sleep(3000);
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerLeadershipChange.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerLeadershipChange.java b/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerLeadershipChange.java
index c44c924..6c0236f 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerLeadershipChange.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerLeadershipChange.java
@@ -28,7 +28,7 @@ import org.apache.helix.HelixManager;
import org.apache.helix.HelixManagerFactory;
import org.apache.helix.InstanceType;
import org.apache.helix.PropertyPathBuilder;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.integration.manager.MockParticipantManager;
import org.apache.helix.model.IdealState;
import org.apache.helix.model.LiveInstance;
@@ -36,7 +36,7 @@ import org.apache.helix.monitoring.mbeans.MonitorDomainNames;
import org.testng.Assert;
import org.testng.annotations.Test;
-public class TestControllerLeadershipChange extends ZkIntegrationTestBase{
+public class TestControllerLeadershipChange extends ZkTestBase {
@Test
public void testMissingTopStateDurationMonitoring() throws Exception {
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerLiveLock.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerLiveLock.java b/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerLiveLock.java
index b2b291b..0dff764 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerLiveLock.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerLiveLock.java
@@ -124,6 +124,7 @@ public class TestControllerLiveLock extends ZkUnitTestBase {
for (int i = 0; i < n; i++) {
participants[i].syncStop();
}
+ TestHelper.dropCluster(clusterName, _gZkClient);
System.out.println("END " + clusterName + " at " + new Date(System.currentTimeMillis()));
}
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/controller/TestSkipBestPossibleCalculation.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/controller/TestSkipBestPossibleCalculation.java b/helix-core/src/test/java/org/apache/helix/integration/controller/TestSkipBestPossibleCalculation.java
index 79ae4c4..df5bf10 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/controller/TestSkipBestPossibleCalculation.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/controller/TestSkipBestPossibleCalculation.java
@@ -40,9 +40,9 @@ public class TestSkipBestPossibleCalculation extends ZkStandAloneCMTestBase {
int numResource = 5;
for (int i = 0; i < numResource; i++) {
String dbName = "TestDB_" + i;
- _setupTool.addResourceToCluster(CLUSTER_NAME, dbName, _PARTITIONS, STATE_MODEL,
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, dbName, _PARTITIONS, STATE_MODEL,
IdealState.RebalanceMode.CUSTOMIZED.name());
- _setupTool.rebalanceResource(CLUSTER_NAME, dbName, 3);
+ _gSetupTool.rebalanceResource(CLUSTER_NAME, dbName, 3);
}
ClusterDataCache cache =
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/manager/TestDistributedControllerManager.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/manager/TestDistributedControllerManager.java b/helix-core/src/test/java/org/apache/helix/integration/manager/TestDistributedControllerManager.java
index 207044a..ef59f31 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/manager/TestDistributedControllerManager.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/manager/TestDistributedControllerManager.java
@@ -28,7 +28,7 @@ import org.apache.helix.PropertyKey;
import org.apache.helix.TestHelper;
import org.apache.helix.ZNRecord;
import org.apache.helix.ZkTestHelper;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.manager.zk.CallbackHandler;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
import org.apache.helix.manager.zk.ZKHelixManager;
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.Test;
-public class TestDistributedControllerManager extends ZkIntegrationTestBase {
+public class TestDistributedControllerManager extends ZkTestBase {
private static Logger LOG = LoggerFactory.getLogger(TestDistributedControllerManager.class);
@Test
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/manager/TestHelixDataAccessor.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/manager/TestHelixDataAccessor.java b/helix-core/src/test/java/org/apache/helix/integration/manager/TestHelixDataAccessor.java
index 39fdb2a..7e6d931 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/manager/TestHelixDataAccessor.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/manager/TestHelixDataAccessor.java
@@ -6,15 +6,12 @@ import java.util.Map;
import java.util.TreeMap;
import org.apache.helix.BaseDataAccessor;
import org.apache.helix.HelixDataAccessor;
-import org.apache.helix.HelixException;
import org.apache.helix.HelixProperty;
import org.apache.helix.PropertyKey;
import org.apache.helix.ZNRecord;
import org.apache.helix.api.exceptions.HelixMetaDataAccessException;
-import org.apache.helix.controller.stages.AttributeName;
import org.apache.helix.controller.stages.ClusterDataCache;
-import org.apache.helix.controller.stages.ReadClusterDataStage;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
import org.apache.helix.manager.zk.ZkBaseDataAccessor;
import org.apache.helix.mock.MockZkClient;
@@ -22,7 +19,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-public class TestHelixDataAccessor extends ZkIntegrationTestBase {
+public class TestHelixDataAccessor extends ZkTestBase {
private MockZkClient _zkClient;
BaseDataAccessor<ZNRecord> baseDataAccessor;
HelixDataAccessor accessor;
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/manager/TestParticipantManager.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/manager/TestParticipantManager.java b/helix-core/src/test/java/org/apache/helix/integration/manager/TestParticipantManager.java
index d2ab0bb..d21f46e 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/manager/TestParticipantManager.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/manager/TestParticipantManager.java
@@ -32,7 +32,7 @@ import org.apache.helix.PropertyPathBuilder;
import org.apache.helix.TestHelper;
import org.apache.helix.ZNRecord;
import org.apache.helix.ZkTestHelper;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
import org.apache.helix.manager.zk.ZKHelixManager;
import org.apache.helix.manager.zk.ZNRecordSerializer;
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.Test;
-public class TestParticipantManager extends ZkIntegrationTestBase {
+public class TestParticipantManager extends ZkTestBase {
private static Logger LOG = LoggerFactory.getLogger(TestParticipantManager.class);
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestBatchMessage.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestBatchMessage.java b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestBatchMessage.java
index bd44ca3..f2c4622 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestBatchMessage.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestBatchMessage.java
@@ -30,7 +30,7 @@ import org.apache.helix.TestHelper;
import org.apache.helix.ZNRecord;
import org.apache.helix.HelixProperty.HelixPropertyAttribute;
import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.integration.manager.ClusterControllerManager;
import org.apache.helix.integration.manager.MockParticipantManager;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
@@ -44,7 +44,7 @@ import org.apache.helix.tools.ClusterStateVerifier.BestPossAndExtViewZkVerifier;
import org.testng.Assert;
import org.testng.annotations.Test;
-public class TestBatchMessage extends ZkIntegrationTestBase {
+public class TestBatchMessage extends ZkTestBase {
class TestZkChildListener implements IZkChildListener {
int _maxNbOfChilds = 0;
@@ -117,6 +117,7 @@ public class TestBatchMessage extends ZkIntegrationTestBase {
for (int i = 0; i < n; i++) {
participants[i].syncStop();
}
+ _gSetupTool.deleteCluster(clusterName);
System.out.println("END " + clusterName + " at " + new Date(System.currentTimeMillis()));
}
@@ -199,6 +200,7 @@ public class TestBatchMessage extends ZkIntegrationTestBase {
for (int i = 0; i < n; i++) {
participants[i].syncStop();
}
+ _gSetupTool.deleteCluster(clusterName);
System.out.println("END " + clusterName + " at " + new Date(System.currentTimeMillis()));
}
@@ -270,8 +272,14 @@ public class TestBatchMessage extends ZkIntegrationTestBase {
// verify "TestDB0_0", masterOfPartition0 is in ERROR state
TestHelper.verifyState(clusterName, ZK_ADDR, errorStateMap, "ERROR");
- System.out.println("END " + clusterName + " at " + new Date(System.currentTimeMillis()));
+ // clean up
+ controller.syncStop();
+ for (int i = 0; i < 5; i++) {
+ participants[i].syncStop();
+ }
+ _gSetupTool.deleteCluster(clusterName);
+ System.out.println("END " + clusterName + " at " + new Date(System.currentTimeMillis()));
}
@Test
@@ -351,6 +359,7 @@ public class TestBatchMessage extends ZkIntegrationTestBase {
for (int i = 0; i < n; i++) {
participants[i].syncStop();
}
+ _gSetupTool.deleteCluster(clusterName);
System.out.println("END " + clusterName + " at " + new Date(System.currentTimeMillis()));
}
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestBatchMessageWrapper.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestBatchMessageWrapper.java b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestBatchMessageWrapper.java
index 1a9b65a..f3f469e 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestBatchMessageWrapper.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestBatchMessageWrapper.java
@@ -135,6 +135,7 @@ public class TestBatchMessageWrapper extends ZkUnitTestBase {
for (int i = 0; i < n; i++) {
participants[i].syncStop();
}
+ TestHelper.dropCluster(clusterName, _gZkClient);
System.out.println("END " + clusterName + " at " + new Date(System.currentTimeMillis()));
}
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestMessageThrottle.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestMessageThrottle.java b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestMessageThrottle.java
index 5f6c6b4..01fb0d8 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestMessageThrottle.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestMessageThrottle.java
@@ -28,7 +28,7 @@ import org.apache.helix.HelixAdmin;
import org.apache.helix.PropertyPathBuilder;
import org.apache.helix.TestHelper;
import org.apache.helix.ZNRecord;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.integration.manager.ClusterControllerManager;
import org.apache.helix.integration.manager.MockParticipantManager;
import org.apache.helix.manager.zk.ZKHelixAdmin;
@@ -43,7 +43,7 @@ import org.apache.helix.tools.ClusterStateVerifier.MasterNbInExtViewVerifier;
import org.testng.Assert;
import org.testng.annotations.Test;
-public class TestMessageThrottle extends ZkIntegrationTestBase {
+public class TestMessageThrottle extends ZkTestBase {
@Test()
public void testMessageThrottle() throws Exception {
// Logger.getRootLogger().setLevel(Level.INFO);
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestMessageThrottle2.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestMessageThrottle2.java b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestMessageThrottle2.java
index d9edaf1..83ac0bc 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestMessageThrottle2.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestMessageThrottle2.java
@@ -41,7 +41,7 @@ import org.apache.helix.PropertyKey.Builder;
import org.apache.helix.TestHelper;
import org.apache.helix.ZNRecord;
import org.apache.helix.controller.HelixControllerMain;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.manager.zk.ZKHelixAdmin;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
import org.apache.helix.manager.zk.ZKHelixManager;
@@ -67,7 +67,7 @@ import org.testng.Assert;
import org.testng.annotations.Test;
// test case from Ming Fang
-public class TestMessageThrottle2 extends ZkIntegrationTestBase {
+public class TestMessageThrottle2 extends ZkTestBase {
final static String clusterName = "TestMessageThrottle2";
final static String resourceName = "MyResource";
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PMessageSemiAuto.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PMessageSemiAuto.java b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PMessageSemiAuto.java
index 43fedad..d1fa2c0 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PMessageSemiAuto.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PMessageSemiAuto.java
@@ -28,7 +28,7 @@ import org.apache.helix.HelixDataAccessor;
import org.apache.helix.api.config.HelixConfigProperty;
import org.apache.helix.controller.stages.ClusterDataCache;
import org.apache.helix.integration.DelayedTransitionBase;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.integration.manager.ClusterControllerManager;
import org.apache.helix.integration.manager.MockParticipantManager;
import org.apache.helix.manager.zk.ZKHelixDataAccessor;
@@ -41,10 +41,11 @@ import org.apache.helix.model.ResourceConfig;
import org.apache.helix.tools.ClusterVerifiers.BestPossibleExternalViewVerifier;
import org.apache.helix.tools.ClusterVerifiers.HelixClusterVerifier;
import org.testng.Assert;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-public class TestP2PMessageSemiAuto extends ZkIntegrationTestBase {
+public class TestP2PMessageSemiAuto extends ZkTestBase {
final String CLASS_NAME = getShortClassName();
final String CLUSTER_NAME = CLUSTER_PREFIX + "_" + CLASS_NAME;
@@ -57,7 +58,7 @@ public class TestP2PMessageSemiAuto extends ZkIntegrationTestBase {
static final int PARTITION_NUMBER = 20;
static final int REPLICA_NUMBER = 3;
- List<MockParticipantManager> _participants = new ArrayList<MockParticipantManager>();
+ List<MockParticipantManager> _participants = new ArrayList<>();
List<String> _instances = new ArrayList<>();
ClusterControllerManager _controller;
@@ -106,6 +107,18 @@ public class TestP2PMessageSemiAuto extends ZkIntegrationTestBase {
_accessor = new ZKHelixDataAccessor(CLUSTER_NAME, _baseAccessor);
}
+ @AfterClass
+ public void afterClass() throws Exception {
+ _controller.syncStop();
+ for (MockParticipantManager p : _participants) {
+ if (p.isConnected()) {
+ p.syncStop();
+ }
+ }
+ _gSetupTool.deleteCluster(CLUSTER_NAME);
+ System.out.println("END " + CLASS_NAME + " at " + new Date(System.currentTimeMillis()));
+ }
+
@Test
public void testP2PStateTransitionDisabled() {
// disable the master instance
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestInstanceAutoJoin.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestInstanceAutoJoin.java b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestInstanceAutoJoin.java
index 007335d..f0ffc63 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestInstanceAutoJoin.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestInstanceAutoJoin.java
@@ -38,10 +38,10 @@ public class TestInstanceAutoJoin extends ZkStandAloneCMTestBase {
HelixManager manager = _participants[0];
HelixDataAccessor accessor = manager.getHelixDataAccessor();
- _setupTool.addResourceToCluster(CLUSTER_NAME, db2, 60, "OnlineOffline", RebalanceMode.FULL_AUTO
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, db2, 60, "OnlineOffline", RebalanceMode.FULL_AUTO
+ "");
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, db2, 1);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db2, 1);
String instance2 = "localhost_279699";
// StartCMResult result = TestHelper.startDummyProcess(ZK_ADDR, CLUSTER_NAME, instance2);
MockParticipantManager newParticipant =
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestNonOfflineInitState.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestNonOfflineInitState.java b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestNonOfflineInitState.java
index bd9e168..a937c41 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestNonOfflineInitState.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestNonOfflineInitState.java
@@ -22,12 +22,11 @@ package org.apache.helix.integration.paticipant;
import java.util.Date;
import org.apache.helix.TestHelper;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.integration.manager.ClusterControllerManager;
import org.apache.helix.integration.manager.MockParticipantManager;
import org.apache.helix.mock.participant.MockBootstrapModelFactory;
import org.apache.helix.participant.StateMachineEngine;
-import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.tools.ClusterStateVerifier;
import org.apache.helix.tools.ClusterStateVerifier.BestPossAndExtViewZkVerifier;
import org.slf4j.Logger;
@@ -35,7 +34,7 @@ import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.Test;
-public class TestNonOfflineInitState extends ZkIntegrationTestBase {
+public class TestNonOfflineInitState extends ZkTestBase {
private static Logger LOG = LoggerFactory.getLogger(TestNonOfflineInitState.class);
@Test
@@ -81,6 +80,7 @@ public class TestNonOfflineInitState extends ZkIntegrationTestBase {
for (int i = 0; i < 5; i++) {
participants[i].syncStop();
}
+ _gSetupTool.deleteCluster(clusterName);
System.out.println("END testNonOfflineInitState at " + new Date(System.currentTimeMillis()));
}
@@ -88,26 +88,21 @@ public class TestNonOfflineInitState extends ZkIntegrationTestBase {
private static void setupCluster(String clusterName, String ZkAddr, int startPort,
String participantNamePrefix, String resourceNamePrefix, int resourceNb, int partitionNb,
int nodesNb, int replica, String stateModelDef, boolean doRebalance) throws Exception {
- if (_gZkClient.exists("/" + clusterName)) {
- LOG.warn("Cluster already exists:" + clusterName + ". Deleting it");
- _gZkClient.deleteRecursively("/" + clusterName);
- }
- ClusterSetup setupTool = new ClusterSetup(ZkAddr);
- setupTool.addCluster(clusterName, true);
- setupTool.addStateModelDef(clusterName, "Bootstrap",
+ _gSetupTool.addCluster(clusterName, true);
+ _gSetupTool.addStateModelDef(clusterName, "Bootstrap",
TestHelper.generateStateModelDefForBootstrap());
for (int i = 0; i < nodesNb; i++) {
int port = startPort + i;
- setupTool.addInstanceToCluster(clusterName, participantNamePrefix + "_" + port);
+ _gSetupTool.addInstanceToCluster(clusterName, participantNamePrefix + "_" + port);
}
for (int i = 0; i < resourceNb; i++) {
String dbName = resourceNamePrefix + i;
- setupTool.addResourceToCluster(clusterName, dbName, partitionNb, stateModelDef);
+ _gSetupTool.addResourceToCluster(clusterName, dbName, partitionNb, stateModelDef);
if (doRebalance) {
- setupTool.rebalanceStorageCluster(clusterName, dbName, replica);
+ _gSetupTool.rebalanceStorageCluster(clusterName, dbName, replica);
}
}
}
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestRestartParticipant.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestRestartParticipant.java b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestRestartParticipant.java
index 1fe742e..cf9f240 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestRestartParticipant.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestRestartParticipant.java
@@ -24,7 +24,7 @@ import java.util.concurrent.atomic.AtomicReference;
import org.apache.helix.NotificationContext;
import org.apache.helix.TestHelper;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.integration.manager.ClusterControllerManager;
import org.apache.helix.integration.manager.MockParticipantManager;
import org.apache.helix.mock.participant.MockTransition;
@@ -34,7 +34,7 @@ import org.apache.helix.tools.ClusterStateVerifier.BestPossAndExtViewZkVerifier;
import org.testng.Assert;
import org.testng.annotations.Test;
-public class TestRestartParticipant extends ZkIntegrationTestBase {
+public class TestRestartParticipant extends ZkTestBase {
public class KillOtherTransition extends MockTransition {
final AtomicReference<MockParticipantManager> _other;
@@ -111,6 +111,7 @@ public class TestRestartParticipant extends ZkIntegrationTestBase {
participants[i].syncStop();
}
participant.syncStop();
+ _gSetupTool.deleteCluster(clusterName);
System.out.println("START testRestartParticipant at " + new Date(System.currentTimeMillis()));
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestStateTransitionTimeout.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestStateTransitionTimeout.java b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestStateTransitionTimeout.java
index 438050d..83b97a5 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestStateTransitionTimeout.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestStateTransitionTimeout.java
@@ -60,25 +60,19 @@ public class TestStateTransitionTimeout extends ZkStandAloneCMTestBase {
public void beforeClass() throws Exception {
System.out.println("START " + CLASS_NAME + " at " + new Date(System.currentTimeMillis()));
- String namespace = "/" + CLUSTER_NAME;
- if (_gZkClient.exists(namespace)) {
- _gZkClient.deleteRecursively(namespace);
- }
- _setupTool = new ClusterSetup(ZK_ADDR);
-
// setup storage cluster
- _setupTool.addCluster(CLUSTER_NAME, true);
- _setupTool.addResourceToCluster(CLUSTER_NAME, TEST_DB, _PARTITIONS, STATE_MODEL);
+ _gSetupTool.addCluster(CLUSTER_NAME, true);
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, TEST_DB, _PARTITIONS, STATE_MODEL);
for (int i = 0; i < NODE_NR; i++) {
String storageNodeName = PARTICIPANT_PREFIX + "_" + (START_PORT + i);
- _setupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
+ _gSetupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
}
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, TEST_DB, 3);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, TEST_DB, 3);
// Set the timeout values
IdealState idealState =
- _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, TEST_DB);
+ _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, TEST_DB);
String stateTransition = "SLAVE" + "-" + "MASTER" + "_" + Message.Attributes.TIMEOUT;
idealState.getRecord().setSimpleField(stateTransition, "300");
@@ -145,7 +139,7 @@ public class TestStateTransitionTimeout extends ZkStandAloneCMTestBase {
public void testStateTransitionTimeOut() throws Exception {
Map<String, SleepStateModelFactory> factories = new HashMap<String, SleepStateModelFactory>();
IdealState idealState =
- _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, TEST_DB);
+ _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, TEST_DB);
for (int i = 0; i < NODE_NR; i++) {
String instanceName = PARTICIPANT_PREFIX + "_" + (START_PORT + i);
SleepStateModelFactory factory = new SleepStateModelFactory(1000);
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestStateTransitionTimeoutWithResource.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestStateTransitionTimeoutWithResource.java b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestStateTransitionTimeoutWithResource.java
index b7491f2..2e9af04 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestStateTransitionTimeoutWithResource.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/paticipant/TestStateTransitionTimeoutWithResource.java
@@ -70,18 +70,12 @@ public class TestStateTransitionTimeoutWithResource extends ZkStandAloneCMTestBa
public void beforeClass() throws Exception {
System.out.println("START " + CLASS_NAME + " at " + new Date(System.currentTimeMillis()));
- String namespace = "/" + CLUSTER_NAME;
- if (_gZkClient.exists(namespace)) {
- _gZkClient.deleteRecursively(namespace);
- }
- _setupTool = new ClusterSetup(ZK_ADDR);
-
// setup storage cluster
- _setupTool.addCluster(CLUSTER_NAME, true);
+ _gSetupTool.addCluster(CLUSTER_NAME, true);
for (int i = 0; i < NODE_NR; i++) {
String storageNodeName = PARTICIPANT_PREFIX + "_" + (START_PORT + i);
- _setupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
+ _gSetupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
}
_manager = HelixManagerFactory
@@ -155,9 +149,9 @@ public class TestStateTransitionTimeoutWithResource extends ZkStandAloneCMTestBa
@Test
public void testStateTransitionTimeOut() throws Exception {
- _setupTool.addResourceToCluster(CLUSTER_NAME, TEST_DB, _PARTITIONS, STATE_MODEL);
- _setupTool.getClusterManagementTool().enableResource(CLUSTER_NAME, TEST_DB, false);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, TEST_DB, 3);
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, TEST_DB, _PARTITIONS, STATE_MODEL);
+ _gSetupTool.getClusterManagementTool().enableResource(CLUSTER_NAME, TEST_DB, false);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, TEST_DB, 3);
// Set the timeout values
StateTransitionTimeoutConfig stateTransitionTimeoutConfig =
@@ -171,7 +165,7 @@ public class TestStateTransitionTimeoutWithResource extends ZkStandAloneCMTestBa
setParticipants(TEST_DB);
- _setupTool.getClusterManagementTool().enableResource(CLUSTER_NAME, TEST_DB, true);
+ _gSetupTool.getClusterManagementTool().enableResource(CLUSTER_NAME, TEST_DB, true);
boolean result =
ClusterStateVerifier
.verifyByZkCallback(new MasterNbInExtViewVerifier(ZK_ADDR, CLUSTER_NAME));
@@ -182,9 +176,9 @@ public class TestStateTransitionTimeoutWithResource extends ZkStandAloneCMTestBa
@Test
public void testStateTransitionTimeoutByClusterLevel() throws InterruptedException {
- _setupTool.addResourceToCluster(CLUSTER_NAME, TEST_DB + 1, _PARTITIONS, STATE_MODEL);
- _setupTool.getClusterManagementTool().enableResource(CLUSTER_NAME, TEST_DB + 1, false);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, TEST_DB + 1, 3);
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, TEST_DB + 1, _PARTITIONS, STATE_MODEL);
+ _gSetupTool.getClusterManagementTool().enableResource(CLUSTER_NAME, TEST_DB + 1, false);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, TEST_DB + 1, 3);
StateTransitionTimeoutConfig stateTransitionTimeoutConfig =
new StateTransitionTimeoutConfig(new ZNRecord(TEST_DB + 1));
@@ -195,7 +189,7 @@ public class TestStateTransitionTimeoutWithResource extends ZkStandAloneCMTestBa
setParticipants(TEST_DB + 1);
- _setupTool.getClusterManagementTool().enableResource(CLUSTER_NAME, TEST_DB + 1, true);
+ _gSetupTool.getClusterManagementTool().enableResource(CLUSTER_NAME, TEST_DB + 1, true);
boolean result =
ClusterStateVerifier
.verifyByZkCallback(new MasterNbInExtViewVerifier(ZK_ADDR, CLUSTER_NAME));
@@ -205,7 +199,7 @@ public class TestStateTransitionTimeoutWithResource extends ZkStandAloneCMTestBa
private void verify(String dbName) {
IdealState idealState =
- _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, dbName);
+ _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, dbName);
HelixDataAccessor accessor = _manager.getHelixDataAccessor();
ExternalView ev = accessor.getProperty(accessor.keyBuilder().externalView(dbName));
for (String p : idealState.getPartitionSet()) {
@@ -221,7 +215,7 @@ public class TestStateTransitionTimeoutWithResource extends ZkStandAloneCMTestBa
private void setParticipants(String dbName) throws InterruptedException {
_factories = new HashMap<>();
IdealState idealState =
- _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, dbName);
+ _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, dbName);
for (int i = 0; i < NODE_NR; i++) {
if (_participants[i] != null) {
_participants[i].syncStop();
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalance.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalance.java b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalance.java
index 0b90af6..05286a7 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalance.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalance.java
@@ -28,7 +28,7 @@ import java.util.Map;
import java.util.Set;
import org.apache.helix.controller.rebalancer.strategy.*;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.integration.manager.ClusterControllerManager;
import org.apache.helix.integration.manager.MockParticipantManager;
import org.apache.helix.model.BuiltInStateModelDefinitions;
@@ -36,7 +36,6 @@ import org.apache.helix.model.ExternalView;
import org.apache.helix.model.IdealState;
import org.apache.helix.model.IdealState.RebalanceMode;
import org.apache.helix.model.InstanceConfig;
-import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.tools.ClusterVerifiers.BestPossibleExternalViewVerifier;
import org.apache.helix.tools.ClusterVerifiers.HelixClusterVerifier;
import org.testng.Assert;
@@ -46,7 +45,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
-public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
+public class TestCrushAutoRebalance extends ZkTestBase {
final int NUM_NODE = 6;
protected static final int START_PORT = 12918;
protected static final int _PARTITIONS = 20;
@@ -55,12 +54,11 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
protected final String CLUSTER_NAME = CLUSTER_PREFIX + "_" + CLASS_NAME;
protected ClusterControllerManager _controller;
- protected ClusterSetup _setupTool = null;
- List<MockParticipantManager> _participants = new ArrayList<MockParticipantManager>();
- Map<String, String> _nodeToZoneMap = new HashMap<String, String>();
- Map<String, String> _nodeToTagMap = new HashMap<String, String>();
- List<String> _nodes = new ArrayList<String>();
- Set<String> _allDBs = new HashSet<String>();
+ List<MockParticipantManager> _participants = new ArrayList<>();
+ Map<String, String> _nodeToZoneMap = new HashMap<>();
+ Map<String, String> _nodeToTagMap = new HashMap<>();
+ List<String> _nodes = new ArrayList<>();
+ Set<String> _allDBs = new HashSet<>();
int _replica = 3;
String[] _testModels = { BuiltInStateModelDefinitions.OnlineOffline.name(),
@@ -72,20 +70,15 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
public void beforeClass() throws Exception {
System.out.println("START " + CLASS_NAME + " at " + new Date(System.currentTimeMillis()));
- String namespace = "/" + CLUSTER_NAME;
- if (_gZkClient.exists(namespace)) {
- _gZkClient.deleteRecursively(namespace);
- }
- _setupTool = new ClusterSetup(_gZkClient);
- _setupTool.addCluster(CLUSTER_NAME, true);
+ _gSetupTool.addCluster(CLUSTER_NAME, true);
for (int i = 0; i < NUM_NODE; i++) {
String storageNodeName = PARTICIPANT_PREFIX + "_" + (START_PORT + i);
- _setupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
+ _gSetupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
String zone = "zone-" + i % 3;
String tag = "tag-" + i % 2;
- _setupTool.getClusterManagementTool().setInstanceZoneId(CLUSTER_NAME, storageNodeName, zone);
- _setupTool.getClusterManagementTool().addInstanceTag(CLUSTER_NAME, storageNodeName, tag);
+ _gSetupTool.getClusterManagementTool().setInstanceZoneId(CLUSTER_NAME, storageNodeName, zone);
+ _gSetupTool.getClusterManagementTool().addInstanceTag(CLUSTER_NAME, storageNodeName, tag);
_nodeToZoneMap.put(storageNodeName, zone);
_nodeToTagMap.put(storageNodeName, tag);
_nodes.add(storageNodeName);
@@ -123,9 +116,9 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
int i = 0;
for (String stateModel : _testModels) {
String db = "Test-DB-" + rebalanceStrategyName + "-" + i++;
- _setupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
RebalanceMode.FULL_AUTO + "", rebalanceStrategyClass);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
_allDBs.add(db);
}
Thread.sleep(300);
@@ -136,9 +129,9 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
Assert.assertTrue(_clusterVerifier.verify());
for (String db : _allDBs) {
- IdealState is = _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
+ IdealState is = _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
ExternalView ev =
- _setupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
+ _gSetupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
validateZoneAndTagIsolation(is, ev, _replica);
}
}
@@ -150,13 +143,13 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
int i = 0;
for (String tag : tags) {
String db = "Test-DB-Tag-" + rebalanceStrategyName + "-" + i++;
- _setupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS,
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS,
BuiltInStateModelDefinitions.MasterSlave.name(), RebalanceMode.FULL_AUTO + "",
rebalanceStrategyClass);
- IdealState is = _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
+ IdealState is = _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
is.setInstanceGroupTag(tag);
- _setupTool.getClusterManagementTool().setResourceIdealState(CLUSTER_NAME, db, is);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
+ _gSetupTool.getClusterManagementTool().setResourceIdealState(CLUSTER_NAME, db, is);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
_allDBs.add(db);
}
Thread.sleep(300);
@@ -167,9 +160,9 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
Assert.assertTrue(_clusterVerifier.verify());
for (String db : _allDBs) {
- IdealState is = _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
+ IdealState is = _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
ExternalView ev =
- _setupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
+ _gSetupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
validateZoneAndTagIsolation(is, ev, _replica);
}
}
@@ -191,9 +184,9 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
int i = 0;
for (String stateModel : _testModels) {
String db = "Test-DB-CrushRebalanceStrategy-" + i++;
- _setupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
RebalanceMode.FULL_AUTO + "", CrushRebalanceStrategy.class.getName());
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
_allDBs.add(db);
}
Thread.sleep(300);
@@ -204,9 +197,9 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
Assert.assertTrue(_clusterVerifier.verify());
for (String db : _allDBs) {
- IdealState is = _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
+ IdealState is = _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
ExternalView ev =
- _setupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
+ _gSetupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
validateZoneAndTagIsolation(is, ev, 2);
}
}
@@ -222,19 +215,19 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
MockParticipantManager p = _participants.get(i);
if (_nodeToZoneMap.get(p.getInstanceName()).equals(zone)){
p.syncStop();
- _setupTool.getClusterManagementTool()
+ _gSetupTool.getClusterManagementTool()
.enableInstance(CLUSTER_NAME, p.getInstanceName(), false);
Thread.sleep(50);
- _setupTool.dropInstanceFromCluster(CLUSTER_NAME, p.getInstanceName());
+ _gSetupTool.dropInstanceFromCluster(CLUSTER_NAME, p.getInstanceName());
}
}
int i = 0;
for (String stateModel : _testModels) {
String db = "Test-DB-CrushRebalanceStrategy-" + i++;
- _setupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
RebalanceMode.FULL_AUTO + "", CrushRebalanceStrategy.class.getName());
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
_allDBs.add(db);
}
Thread.sleep(300);
@@ -245,9 +238,9 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
Assert.assertTrue(_clusterVerifier.verify());
for (String db : _allDBs) {
- IdealState is = _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
+ IdealState is = _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
ExternalView ev =
- _setupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
+ _gSetupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
validateZoneAndTagIsolation(is, ev, 2);
}
}
@@ -255,7 +248,7 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
@AfterMethod
public void afterMethod() throws Exception {
for (String db : _allDBs) {
- _setupTool.dropResourceFromCluster(CLUSTER_NAME, db);
+ _gSetupTool.dropResourceFromCluster(CLUSTER_NAME, db);
}
_allDBs.clear();
// waiting for all DB be dropped.
@@ -278,7 +271,7 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
assignedZones.add(_nodeToZoneMap.get(instance));
if (tag != null) {
InstanceConfig config =
- _setupTool.getClusterManagementTool().getInstanceConfig(CLUSTER_NAME, instance);
+ _gSetupTool.getClusterManagementTool().getInstanceConfig(CLUSTER_NAME, instance);
Assert.assertTrue(config.containsTag(tag));
}
}
@@ -307,10 +300,12 @@ public class TestCrushAutoRebalance extends ZkIntegrationTestBase {
* shutdown order: 1) disconnect the controller 2) disconnect participants
*/
_controller.syncStop();
- for (MockParticipantManager participant : _participants) {
- participant.syncStop();
+ for (MockParticipantManager p : _participants) {
+ if (p.isConnected()) {
+ p.syncStop();
+ }
}
- _setupTool.deleteCluster(CLUSTER_NAME);
+ _gSetupTool.deleteCluster(CLUSTER_NAME);
System.out.println("END " + CLASS_NAME + " at " + new Date(System.currentTimeMillis()));
}
}
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalanceNonRack.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalanceNonRack.java b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalanceNonRack.java
index 1a41e08..5005858 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalanceNonRack.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalanceNonRack.java
@@ -31,6 +31,7 @@ import org.apache.helix.tools.ClusterSetup;
import org.apache.helix.tools.ClusterVerifiers.HelixClusterVerifier;
import org.apache.helix.tools.ClusterVerifiers.StrictMatchExternalViewVerifier;
import org.testng.Assert;
+import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
@@ -47,10 +48,9 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
protected final String CLUSTER_NAME = CLUSTER_PREFIX + "_" + CLASS_NAME;
protected ClusterControllerManager _controller;
- protected ClusterSetup _setupTool = null;
List<MockParticipantManager> _participants = new ArrayList<MockParticipantManager>();
Map<String, String> _nodeToTagMap = new HashMap<String, String>();
- List<String> _nodes = new ArrayList<String>();
+ List<String> _nodes = new ArrayList<>();
Set<String> _allDBs = new HashSet<>();
int _replica = 3;
@@ -63,12 +63,7 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
public void beforeClass() throws Exception {
System.out.println("START " + CLASS_NAME + " at " + new Date(System.currentTimeMillis()));
- String namespace = "/" + CLUSTER_NAME;
- if (_gZkClient.exists(namespace)) {
- _gZkClient.deleteRecursively(namespace);
- }
- _setupTool = new ClusterSetup(_gZkClient);
- _setupTool.addCluster(CLUSTER_NAME, true);
+ _gSetupTool.addCluster(CLUSTER_NAME, true);
ConfigAccessor configAccessor = new ConfigAccessor(_gZkClient);
ClusterConfig clusterConfig = configAccessor.getClusterConfig(CLUSTER_NAME);
@@ -78,10 +73,10 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
for (int i = 0; i < NUM_NODE; i++) {
String storageNodeName = PARTICIPANT_PREFIX + "_" + (START_PORT + i);
- _setupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
+ _gSetupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
_nodes.add(storageNodeName);
String tag = "tag-" + i % 2;
- _setupTool.getClusterManagementTool().addInstanceTag(CLUSTER_NAME, storageNodeName, tag);
+ _gSetupTool.getClusterManagementTool().addInstanceTag(CLUSTER_NAME, storageNodeName, tag);
_nodeToTagMap.put(storageNodeName, tag);
InstanceConfig instanceConfig =
configAccessor.getInstanceConfig(CLUSTER_NAME, storageNodeName);
@@ -105,6 +100,18 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
//enableTopologyAwareRebalance(_gZkClient, CLUSTER_NAME, true);
}
+ @AfterClass
+ public void afterClass() throws Exception {
+ _controller.syncStop();
+ for (MockParticipantManager p : _participants) {
+ if (p.isConnected()) {
+ p.syncStop();
+ }
+ }
+ _gSetupTool.deleteCluster(CLUSTER_NAME);
+ super.afterClass();
+ }
+
@DataProvider(name = "rebalanceStrategies")
public static String[][] rebalanceStrategies() {
return new String[][] { { "CrushRebalanceStrategy", CrushRebalanceStrategy.class.getName() },
@@ -118,9 +125,9 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
int i = 0;
for (String stateModel : _testModels) {
String db = "Test-DB-" + rebalanceStrategyName + "-" + i++;
- _setupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
RebalanceMode.FULL_AUTO + "", rebalanceStrategyClass);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
_allDBs.add(db);
}
Thread.sleep(300);
@@ -130,9 +137,9 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
.setResources(_allDBs).build();
Assert.assertTrue(_clusterVerifier.verify(5000));
for (String db : _allDBs) {
- IdealState is = _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
+ IdealState is = _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
ExternalView ev =
- _setupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
+ _gSetupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
validateIsolation(is, ev, _replica);
}
}
@@ -144,13 +151,13 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
int i = 3;
for (String tag : tags) {
String db = "Test-DB-" + rebalanceStrategyName + "-" + i++;
- _setupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS,
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS,
BuiltInStateModelDefinitions.MasterSlave.name(), RebalanceMode.FULL_AUTO + "",
rebalanceStrategyClass);
- IdealState is = _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
+ IdealState is = _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
is.setInstanceGroupTag(tag);
- _setupTool.getClusterManagementTool().setResourceIdealState(CLUSTER_NAME, db, is);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
+ _gSetupTool.getClusterManagementTool().setResourceIdealState(CLUSTER_NAME, db, is);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
_allDBs.add(db);
}
Thread.sleep(300);
@@ -160,9 +167,9 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
.setResources(_allDBs).build();
Assert.assertTrue(_clusterVerifier.verify(5000));
for (String db : _allDBs) {
- IdealState is = _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
+ IdealState is = _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
ExternalView ev =
- _setupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
+ _gSetupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
validateIsolation(is, ev, _replica);
}
}
@@ -183,9 +190,9 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
int j = 0;
for (String stateModel : _testModels) {
String db = "Test-DB-" + rebalanceStrategyName + "-" + j++;
- _setupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
RebalanceMode.FULL_AUTO + "", rebalanceStrategyClass);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
_allDBs.add(db);
}
Thread.sleep(300);
@@ -195,9 +202,9 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
.setResources(_allDBs).build();
Assert.assertTrue(_clusterVerifier.verify(5000));
for (String db : _allDBs) {
- IdealState is = _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
+ IdealState is = _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
ExternalView ev =
- _setupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
+ _gSetupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
validateIsolation(is, ev, 2);
}
@@ -218,18 +225,18 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
for (int i = 2; i < _participants.size(); i++) {
MockParticipantManager p = _participants.get(i);
p.syncStop();
- _setupTool.getClusterManagementTool()
+ _gSetupTool.getClusterManagementTool()
.enableInstance(CLUSTER_NAME, p.getInstanceName(), false);
Thread.sleep(200);
- _setupTool.dropInstanceFromCluster(CLUSTER_NAME, p.getInstanceName());
+ _gSetupTool.dropInstanceFromCluster(CLUSTER_NAME, p.getInstanceName());
}
int j = 0;
for (String stateModel : _testModels) {
String db = "Test-DB-" + rebalanceStrategyName + "-" + j++;
- _setupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
+ _gSetupTool.addResourceToCluster(CLUSTER_NAME, db, _PARTITIONS, stateModel,
RebalanceMode.FULL_AUTO + "", rebalanceStrategyClass);
- _setupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
_allDBs.add(db);
}
Thread.sleep(300);
@@ -238,9 +245,9 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
.setResources(_allDBs).build();
Assert.assertTrue(_clusterVerifier.verify());
for (String db : _allDBs) {
- IdealState is = _setupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
+ IdealState is = _gSetupTool.getClusterManagementTool().getResourceIdealState(CLUSTER_NAME, db);
ExternalView ev =
- _setupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
+ _gSetupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db);
validateIsolation(is, ev, 2);
}
@@ -248,7 +255,7 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
ConfigAccessor configAccessor = new ConfigAccessor(_gZkClient);
for (int i = 2; i < _participants.size(); i++) {
String storageNodeName = _participants.get(i).getInstanceName();
- _setupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
+ _gSetupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
InstanceConfig instanceConfig =
configAccessor.getInstanceConfig(CLUSTER_NAME, storageNodeName);
@@ -274,7 +281,7 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
for (String instance : instancesInEV) {
if (tag != null) {
InstanceConfig config =
- _setupTool.getClusterManagementTool().getInstanceConfig(CLUSTER_NAME, instance);
+ _gSetupTool.getClusterManagementTool().getInstanceConfig(CLUSTER_NAME, instance);
Assert.assertTrue(config.containsTag(tag));
}
}
@@ -284,7 +291,7 @@ public class TestCrushAutoRebalanceNonRack extends ZkStandAloneCMTestBase {
@AfterMethod
public void afterMethod() throws Exception {
for (String db : _allDBs) {
- _setupTool.dropResourceFromCluster(CLUSTER_NAME, db);
+ _gSetupTool.dropResourceFromCluster(CLUSTER_NAME, db);
}
_allDBs.clear();
// waiting for all DB be dropped.
http://git-wip-us.apache.org/repos/asf/helix/blob/c0d5792b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalanceTopoplogyAwareDisabled.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalanceTopoplogyAwareDisabled.java b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalanceTopoplogyAwareDisabled.java
index c7d88e9..2b89164 100644
--- a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalanceTopoplogyAwareDisabled.java
+++ b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestCrushAutoRebalanceTopoplogyAwareDisabled.java
@@ -20,10 +20,9 @@ package org.apache.helix.integration.rebalancer.CrushRebalancers;
*/
import java.util.Date;
-import org.apache.helix.integration.common.ZkIntegrationTestBase;
+import org.apache.helix.common.ZkTestBase;
import org.apache.helix.integration.manager.ClusterControllerManager;
import org.apache.helix.integration.manager.MockParticipantManager;
-import org.apache.helix.tools.ClusterSetup;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -33,36 +32,31 @@ public class TestCrushAutoRebalanceTopoplogyAwareDisabled extends TestCrushAutoR
public void beforeClass() throws Exception {
System.out.println("START " + CLASS_NAME + " at " + new Date(System.currentTimeMillis()));
- String namespace = "/" + CLUSTER_NAME;
- if (ZkIntegrationTestBase._gZkClient.exists(namespace)) {
- ZkIntegrationTestBase._gZkClient.deleteRecursively(namespace);
- }
- _setupTool = new ClusterSetup(ZkIntegrationTestBase._gZkClient);
- _setupTool.addCluster(CLUSTER_NAME, true);
+ _gSetupTool.addCluster(CLUSTER_NAME, true);
for (int i = 0; i < NUM_NODE; i++) {
String storageNodeName = PARTICIPANT_PREFIX + "_" + (TestCrushAutoRebalanceNonRack.START_PORT + i);
- _setupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
+ _gSetupTool.addInstanceToCluster(CLUSTER_NAME, storageNodeName);
_nodes.add(storageNodeName);
String tag = "tag-" + i % 2;
- _setupTool.getClusterManagementTool().addInstanceTag(CLUSTER_NAME, storageNodeName, tag);
+ _gSetupTool.getClusterManagementTool().addInstanceTag(CLUSTER_NAME, storageNodeName, tag);
_nodeToTagMap.put(storageNodeName, tag);
}
// start dummy participants
for (String node : _nodes) {
MockParticipantManager participant =
- new MockParticipantManager(ZkIntegrationTestBase.ZK_ADDR, CLUSTER_NAME, node);
+ new MockParticipantManager(ZkTestBase.ZK_ADDR, CLUSTER_NAME, node);
participant.syncStart();
_participants.add(participant);
}
// start controller
String controllerName = CONTROLLER_PREFIX + "_0";
- _controller = new ClusterControllerManager(ZkIntegrationTestBase.ZK_ADDR, CLUSTER_NAME, controllerName);
+ _controller = new ClusterControllerManager(ZkTestBase.ZK_ADDR, CLUSTER_NAME, controllerName);
_controller.syncStart();
- enablePersistBestPossibleAssignment(ZkIntegrationTestBase._gZkClient, CLUSTER_NAME, true);
+ enablePersistBestPossibleAssignment(ZkTestBase._gZkClient, CLUSTER_NAME, true);
}
@Test(dataProvider = "rebalanceStrategies")