private void enablePartition() { if (!isStarted()) { return; } participantManager.getClusterManagmentTool().enablePartition( true, clusterName, instanceName, resourceName, asList( resourceName + "_0" ) ); }
private void disablePartition() { if (!isStarted()) { return; } participantManager.getClusterManagmentTool().enablePartition( false, clusterName, instanceName, resourceName, asList( resourceName + "_0" ) ); }
void disablePartition() { String instanceName = _manager.getInstanceName(); String resourceName = _message.getResourceName(); String partitionName = _message.getPartitionName(); String clusterName = _manager.getClusterName(); HelixAdmin admin = _manager.getClusterManagmentTool(); admin.enablePartition(false, clusterName, instanceName, resourceName, Arrays.asList(partitionName)); logger.info("error in transit from ERROR to " + _message.getToState() + " for partition: " + partitionName + ". disable it on " + instanceName); }
void disablePartition() { String instanceName = _manager.getInstanceName(); String resourceName = _message.getResourceName(); String partitionName = _message.getPartitionName(); String clusterName = _manager.getClusterName(); HelixAdmin admin = _manager.getClusterManagmentTool(); admin.enablePartition(false, clusterName, instanceName, resourceName, Arrays.asList(partitionName)); logger.info("error in transit from ERROR to " + _message.getToState() + " for partition: " + partitionName + ". disable it on " + instanceName); }
setupTool.getClusterManagementTool().enablePartition(enabled, clusterName, instanceName, resourceName, partitionNames); return 0;
setupTool.getClusterManagementTool().enablePartition(enabled, clusterName, instanceName, resourceName, partitionNames); return 0;
@Test public void testEnableDisablePartitions() { String className = TestHelper.getTestClassName(); String methodName = TestHelper.getTestMethodName(); String clusterName = className + "_" + methodName; String instanceName = "TestInstance"; String testResourcePrefix = "TestResource"; System.out.println("START " + clusterName + " at " + new Date(System.currentTimeMillis())); HelixAdmin admin = new ZKHelixAdmin(_gZkClient); admin.addCluster(clusterName, true); admin.addInstance(clusterName, new InstanceConfig(instanceName)); // Test disable instances with resources admin.enablePartition(false, clusterName, instanceName, testResourcePrefix + "0", Arrays.asList(new String[]{"1", "2"})); admin.enablePartition(false, clusterName, instanceName, testResourcePrefix + "1", Arrays.asList(new String[]{"2", "3", "4"})); InstanceConfig instanceConfig = admin.getInstanceConfig(clusterName, instanceName); Assert.assertEquals(instanceConfig.getDisabledPartitions(testResourcePrefix + "0").size(), 2); Assert.assertEquals(instanceConfig.getDisabledPartitions(testResourcePrefix + "1").size(), 3); // Test disable partition across resources // TODO : Remove this part once setInstanceEnabledForPartition(partition, enabled) is removed instanceConfig.setInstanceEnabledForPartition("10", false); Assert.assertEquals(instanceConfig.getDisabledPartitions(testResourcePrefix + "0").size(), 3); Assert.assertEquals(instanceConfig.getDisabledPartitions(testResourcePrefix + "1").size(), 4); admin.dropCluster(clusterName); }
admin.enablePartition(true, clusterId, instanceName, node.get(InstanceProperties.resource.name()).getTextValue(), (List<String>) OBJECT_MAPPER break; case disablePartitions: admin.enablePartition(false, clusterId, instanceName, node.get(InstanceProperties.resource.name()).getTextValue(), (List<String>) OBJECT_MAPPER
_logger.info("Instance " + _message.getMsgSrc() + " disabled"); } else if (actionOnError == ActionOnError.DISABLE_PARTITION) { _manager.getClusterManagmentTool().enablePartition(false, _manager.getClusterName(), _message.getMsgSrc(), _message.getResourceName(), Arrays.asList(_message.getPartitionName()));
_logger.info("Instance " + _message.getMsgSrc() + " disabled"); } else if (actionOnError == ActionOnError.DISABLE_PARTITION) { _manager.getClusterManagmentTool().enablePartition(false, _manager.getClusterName(), _message.getMsgSrc(), _message.getResourceName(), Arrays.asList(_message.getPartitionName()));
_admin.enablePartition(false, _clusterName, _participants[0].getInstanceName(), FULL_AUTO_RESOURCES[0], Lists.newArrayList(FULL_AUTO_RESOURCES[0] + "_0")); Thread.sleep(1000); _admin.enablePartition(true, _clusterName, _participants[0].getInstanceName(), FULL_AUTO_RESOURCES[0], Lists.newArrayList(FULL_AUTO_RESOURCES[0] + "_0")); Thread.sleep(1000);
String resource = jsonParameters.getParameter(JsonParameters.RESOURCE); setupTool.getClusterManagementTool().enablePartition(enabled, clusterName, instanceName, resource, Arrays.asList(partitions)); } else if (command.equalsIgnoreCase(ClusterSetup.resetPartition)) {
@Test public void testEnableDisablePartitions() throws InterruptedException { _admin.enablePartition(false, CLUSTER_NAME, (PARTICIPANT_PREFIX + "_" + _startPort), WorkflowGenerator.DEFAULT_TGT_DB, Arrays.asList(new String[] { "TestDB_0", "TestDB_2" })); _admin.enablePartition(false, CLUSTER_NAME, (PARTICIPANT_PREFIX + "_" + (_startPort + 1)), WorkflowGenerator.DEFAULT_TGT_DB, Arrays.asList(new String[] { "TestDB_0", "TestDB_2" }));
admin.enablePartition(false, clusterName, leader, idealState.getResourceName(), partitionNames);