protected void setupStateModel() { Builder keyBuilder = accessor.keyBuilder(); ZNRecord masterSlave = new StateModelConfigGenerator().generateConfigForMasterSlave(); accessor.setProperty(keyBuilder.stateModelDef(masterSlave.getId()), new StateModelDefinition(masterSlave)); ZNRecord leaderStandby = new StateModelConfigGenerator().generateConfigForLeaderStandby(); accessor.setProperty(keyBuilder.stateModelDef(leaderStandby.getId()), new StateModelDefinition(leaderStandby)); ZNRecord onlineOffline = new StateModelConfigGenerator().generateConfigForOnlineOffline(); accessor.setProperty(keyBuilder.stateModelDef(onlineOffline.getId()), new StateModelDefinition(onlineOffline)); }
/** * Ensure that state models that we know to be good pass validation */ @Test public void testValidModels() { StateModelDefinition masterSlave = new StateModelDefinition(StateModelConfigGenerator.generateConfigForMasterSlave()); Assert.assertTrue(masterSlave.isValid()); StateModelDefinition leaderStandby = new StateModelDefinition(StateModelConfigGenerator.generateConfigForLeaderStandby()); Assert.assertTrue(leaderStandby.isValid()); StateModelDefinition onlineOffline = new StateModelDefinition(StateModelConfigGenerator.generateConfigForOnlineOffline()); Assert.assertTrue(onlineOffline.isValid()); }
HelixAdmin admin = new ZKHelixAdmin(zkAddress); admin.addCluster(clusterName, true); StateModelConfigGenerator generator = new StateModelConfigGenerator(); admin.addStateModelDef(clusterName, "OnlineOffline", new StateModelDefinition(generator.generateConfigForOnlineOffline())); admin.addResource(clusterName, lockGroupName, numPartitions, "OnlineOffline", RebalanceMode.FULL_AUTO.toString());
final String partition = "resource_0"; final StateModelDefinition STATE_MODEL = new StateModelDefinition(StateModelConfigGenerator.generateConfigForOnlineOffline()); LinkedHashMap<String, Integer> stateCount = Maps.newLinkedHashMap(); stateCount.put("ONLINE", 1);
private void addStateModels(HelixDataAccessor accessor) { StateModelDefinition masterSlave = new StateModelDefinition(StateModelConfigGenerator.generateConfigForMasterSlave()); accessor.setProperty(accessor.keyBuilder().stateModelDef(masterSlave.getId()), masterSlave); StateModelDefinition onlineOffline = new StateModelDefinition(StateModelConfigGenerator.generateConfigForOnlineOffline()); accessor.setProperty(accessor.keyBuilder().stateModelDef(onlineOffline.getId()), onlineOffline); } }
StateModelConfigGenerator generator = new StateModelConfigGenerator(); admin.addStateModelDef(clusterName, "MasterSlave", new StateModelDefinition(generator.generateConfigForMasterSlave()));
public static void main(String[] args) { ZNRecordSerializer serializer = new ZNRecordSerializer(); System.out.println(new String(serializer.serialize(generateConfigForMasterSlave()))); }
if (resource.stateModel.name.equals("MasterSlave")) { stateModelDef = new StateModelDefinition(StateModelConfigGenerator.generateConfigForMasterSlave()); } else if (resource.stateModel.name.equals("OnlineOffline")) { stateModelDef = new StateModelDefinition(StateModelConfigGenerator.generateConfigForOnlineOffline()); } else if (resource.stateModel.name.equals("LeaderStandby")) { stateModelDef = new StateModelDefinition(StateModelConfigGenerator.generateConfigForLeaderStandby());
StateModelConfigGenerator generator = new StateModelConfigGenerator(); admin.addStateModelDef(clusterName, DEFAULT_STATE_MODEL, new StateModelDefinition(generator.generateConfigForOnlineOffline()));
new StateModelDefinition(StateModelConfigGenerator.generateConfigForOnlineOffline()));
StateModelConfigGenerator generator = new StateModelConfigGenerator(); admin.addStateModelDef(clusterName, "MasterSlave", new StateModelDefinition(generator.generateConfigForMasterSlave()));
public static void main(String[] args) { ZNRecordSerializer serializer = new ZNRecordSerializer(); System.out.println(new String(serializer.serialize(generateConfigForMasterSlave()))); }
if (resource.stateModel.name.equals("MasterSlave")) { stateModelDef = new StateModelDefinition(StateModelConfigGenerator.generateConfigForMasterSlave()); } else if (resource.stateModel.name.equals("OnlineOffline")) { stateModelDef = new StateModelDefinition(StateModelConfigGenerator.generateConfigForOnlineOffline()); } else if (resource.stateModel.name.equals("LeaderStandby")) { stateModelDef = new StateModelDefinition(StateModelConfigGenerator.generateConfigForLeaderStandby());
new StateModelDefinition(StateModelConfigGenerator.generateConfigForOnlineOffline()));
}; final StateModelDefinition STATE_MODEL = new StateModelDefinition(StateModelConfigGenerator.generateConfigForMasterSlave()); final int REPLICA_COUNT = 2; final String[] NODES = {
protected void setupStateModel(String clusterName) { ZKHelixDataAccessor accessor = new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_gZkClient)); Builder keyBuilder = accessor.keyBuilder(); StateModelDefinition masterSlave = new StateModelDefinition(StateModelConfigGenerator.generateConfigForMasterSlave()); accessor.setProperty(keyBuilder.stateModelDef(masterSlave.getId()), masterSlave); StateModelDefinition leaderStandby = new StateModelDefinition(StateModelConfigGenerator.generateConfigForLeaderStandby()); accessor.setProperty(keyBuilder.stateModelDef(leaderStandby.getId()), leaderStandby); StateModelDefinition onlineOffline = new StateModelDefinition(StateModelConfigGenerator.generateConfigForOnlineOffline()); accessor.setProperty(keyBuilder.stateModelDef(onlineOffline.getId()), onlineOffline); }
@Test public void testDisableResource() { String className = TestHelper.getTestClassName(); String methodName = TestHelper.getTestMethodName(); String clusterName = className + "_" + methodName; System.out.println("START " + clusterName + " at " + new Date(System.currentTimeMillis())); HelixAdmin admin = new ZKHelixAdmin(_gZkClient); admin.addCluster(clusterName, true); Assert.assertTrue(ZKUtil.isClusterSetup(clusterName, _gZkClient), "Cluster should be setup"); String resourceName = "TestDB"; admin.addStateModelDef(clusterName, "MasterSlave", new StateModelDefinition( StateModelConfigGenerator.generateConfigForMasterSlave())); admin.addResource(clusterName, resourceName, 4, "MasterSlave"); admin.enableResource(clusterName, resourceName, false); BaseDataAccessor<ZNRecord> baseAccessor = new ZkBaseDataAccessor<ZNRecord>(_gZkClient); HelixDataAccessor accessor = new ZKHelixDataAccessor(clusterName, baseAccessor); PropertyKey.Builder keyBuilder = accessor.keyBuilder(); IdealState idealState = accessor.getProperty(keyBuilder.idealStates(resourceName)); Assert.assertFalse(idealState.isEnabled()); admin.enableResource(clusterName, resourceName, true); idealState = accessor.getProperty(keyBuilder.idealStates(resourceName)); Assert.assertTrue(idealState.isEnabled()); admin.dropCluster(clusterName); System.out.println("END " + clusterName + " at " + new Date(System.currentTimeMillis())); }
@Test public void testDropResource() { String className = TestHelper.getTestClassName(); String methodName = TestHelper.getTestMethodName(); String clusterName = className + "_" + methodName; System.out.println("START " + clusterName + " at " + new Date(System.currentTimeMillis())); HelixAdmin tool = new ZKHelixAdmin(_gZkClient); tool.addCluster(clusterName, true); Assert.assertTrue(ZKUtil.isClusterSetup(clusterName, _gZkClient), "Cluster should be setup"); tool.addStateModelDef(clusterName, "MasterSlave", new StateModelDefinition( StateModelConfigGenerator.generateConfigForMasterSlave())); tool.addResource(clusterName, "test-db", 4, "MasterSlave"); Map<String, String> resourceConfig = new HashMap<String, String>(); resourceConfig.put("key1", "value1"); tool.setConfig(new HelixConfigScopeBuilder(ConfigScopeProperty.RESOURCE) .forCluster(clusterName).forResource("test-db").build(), resourceConfig); PropertyKey.Builder keyBuilder = new PropertyKey.Builder(clusterName); Assert.assertTrue(_gZkClient.exists(keyBuilder.idealStates("test-db").getPath()), "test-db ideal-state should exist"); Assert.assertTrue(_gZkClient.exists(keyBuilder.resourceConfig("test-db").getPath()), "test-db resource config should exist"); tool.dropResource(clusterName, "test-db"); Assert.assertFalse(_gZkClient.exists(keyBuilder.idealStates("test-db").getPath()), "test-db ideal-state should be dropped"); Assert.assertFalse(_gZkClient.exists(keyBuilder.resourceConfig("test-db").getPath()), "test-db resource config should be dropped"); tool.dropCluster(clusterName); System.out.println("END " + clusterName + " at " + new Date(System.currentTimeMillis())); }
new StateModelDefinition(StateModelConfigGenerator.generateConfigForMasterSlave()); stateModelDefMap.put("MasterSlave", msStateModelDef);
StateModelConfigGenerator.generateConfigForMasterSlave()));