new ZKHelixDataAccessor(helixClusterName, new ZkBaseDataAccessor<ZNRecord>(zkClient)); PropertyKey.Builder keyBuilder = accessor.keyBuilder(); accessor.setProperty(keyBuilder.stateModelDef(segmentStateModelName), newStateModelDef); LOGGER.info("Completed updating statemodel {}", segmentStateModelName); zkClient.close();
/** * Set the resource config * @param accessor Accessor to Helix configs * @param resource The resource name * @param resourceConfig The resource config to be set * @return True if set successfully, otherwise false */ private static boolean setResourceConfig(HelixDataAccessor accessor, String resource, ResourceConfig resourceConfig) { PropertyKey.Builder keyBuilder = accessor.keyBuilder(); return accessor.setProperty(keyBuilder.resourceConfig(resource), resourceConfig); }
/** * Set the resource config * @param accessor Accessor to Helix configs * @param resource The resource name * @param resourceConfig The resource config to be set * @return True if set successfully, otherwise false */ private static boolean setResourceConfig(HelixDataAccessor accessor, String resource, ResourceConfig resourceConfig) { PropertyKey.Builder keyBuilder = accessor.keyBuilder(); return accessor.setProperty(keyBuilder.resourceConfig(resource), resourceConfig); }
@Override public void reportHealthReportMessage(ZNRecord healthCheckInfoUpdate) { HelixDataAccessor accessor = _helixManager.getHelixDataAccessor(); Builder keyBuilder = accessor.keyBuilder(); if(!accessor.setProperty(keyBuilder.healthReport(_instanceName, healthCheckInfoUpdate.getId()), new HealthStat(healthCheckInfoUpdate))) { LOG.error("Failed to persist health report to zk!"); } }
@Override public void reportHealthReportMessage(ZNRecord healthCheckInfoUpdate) { HelixDataAccessor accessor = _helixManager.getHelixDataAccessor(); Builder keyBuilder = accessor.keyBuilder(); if(!accessor.setProperty(keyBuilder.healthReport(_instanceName, healthCheckInfoUpdate.getId()), new HealthStat(healthCheckInfoUpdate))) { LOG.error("Failed to persist health report to zk!"); } }
@Override public void setResourceIdealState(String clusterName, String resourceName, IdealState idealState) { logger .info("Set IdealState for resource {} in cluster {} with new IdealState {}.", resourceName, clusterName, idealState == null ? "NULL" : idealState.toString()); HelixDataAccessor accessor = new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_zkClient)); Builder keyBuilder = accessor.keyBuilder(); accessor.setProperty(keyBuilder.idealStates(resourceName), idealState); }
@Override public void setResourceIdealState(String clusterName, String resourceName, IdealState idealState) { logger .info("Set IdealState for resource {} in cluster {} with new IdealState {}.", resourceName, clusterName, idealState == null ? "NULL" : idealState.toString()); HelixDataAccessor accessor = new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(_zkClient)); Builder keyBuilder = accessor.keyBuilder(); accessor.setProperty(keyBuilder.idealStates(resourceName), idealState); }
protected void setupCurrentStates(Map<String, CurrentState> currentStates) { Builder keyBuilder = accessor.keyBuilder(); for (String instanceName : currentStates.keySet()) { accessor.setProperty(keyBuilder .currentState(instanceName, currentStates.get(instanceName).getSessionId(), currentStates.get(instanceName).getResourceName()), currentStates.get(instanceName)); } }
protected void setClusterConfig(ClusterConfig clusterConfig) { accessor.setProperty(accessor.keyBuilder().clusterConfig(), clusterConfig); }
protected List<String> setupLiveInstances(int numLiveInstances) { List<String> instances = new ArrayList<>(); for (int i = 0; i < numLiveInstances; i++) { LiveInstance liveInstance = new LiveInstance(HOSTNAME_PREFIX + i); liveInstance.setSessionId(SESSION_PREFIX + i); Builder keyBuilder = accessor.keyBuilder(); accessor.setProperty(keyBuilder.liveInstance(HOSTNAME_PREFIX + i), liveInstance); instances.add(liveInstance.getInstanceName()); } return instances; }
private void refreshClusterConfig(String clusterName, HelixDataAccessor accessor) { accessor.setProperty(accessor.keyBuilder().clusterConfig(), new ClusterConfig(clusterName)); } }
protected void setSingleIdealState(IdealState idealState) { accessor .setProperty(accessor.keyBuilder().idealStates(idealState.getResourceName()), idealState); }
private void updateHistory(HelixManager manager) { HelixDataAccessor accessor = manager.getHelixDataAccessor(); Builder keyBuilder = accessor.keyBuilder(); LeaderHistory history = accessor.getProperty(keyBuilder.controllerLeaderHistory()); if (history == null) { history = new LeaderHistory(PropertyType.HISTORY.toString()); } history.updateHistory(manager.getClusterName(), manager.getInstanceName(), manager.getVersion()); if(!accessor.setProperty(keyBuilder.controllerLeaderHistory(), history)) { LOG.error("Failed to persist leader history to ZK!"); } } }
private void updateHistory(HelixManager manager) { HelixDataAccessor accessor = manager.getHelixDataAccessor(); Builder keyBuilder = accessor.keyBuilder(); LeaderHistory history = accessor.getProperty(keyBuilder.controllerLeaderHistory()); if (history == null) { history = new LeaderHistory(PropertyType.HISTORY.toString()); } history .updateHistory(manager.getClusterName(), manager.getInstanceName(), manager.getVersion()); if (!accessor.setProperty(keyBuilder.controllerLeaderHistory(), history)) { LOG.error("Failed to persist leader history to ZK!"); } } }
private void updateInstanceConfig() { // test change content HelixDataAccessor accessor = _manager.getHelixDataAccessor(); Builder keyBuilder = accessor.keyBuilder(); String instanceName = "localhost_12918"; HelixProperty value = accessor.getProperty(keyBuilder.instanceConfig(instanceName)); value._record.setLongField("TimeStamp", System.currentTimeMillis()); accessor.setProperty(keyBuilder.instanceConfig(instanceName), value); }
private void updateIdealState() { HelixDataAccessor accessor = _manager.getHelixDataAccessor(); Builder keyBuilder = accessor.keyBuilder(); List<String> idealStates = accessor.getChildNames(keyBuilder.idealStates()); IdealState idealState = accessor.getProperty(keyBuilder.idealStates(idealStates.get(0))); idealState.setNumPartitions((int)(System.currentTimeMillis()%50L)); accessor.setProperty(keyBuilder.idealStates(idealState.getId()), idealState); } }
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); } }
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)); }
private void createIS(HelixDataAccessor accessor, String resourceId, String stateModelDefRef, RebalanceMode rebalanceMode) { IdealState idealState = new IdealState(resourceId); idealState.setRebalanceMode(rebalanceMode); idealState.setStateModelDefRef(stateModelDefRef); idealState.setNumPartitions(1); idealState.setReplicas("1"); idealState.getRecord().setListField(resourceId + "_0", ImmutableList.of(PARTICIPANT)); idealState.getRecord().setMapField(resourceId + "_0", ImmutableMap.of(PARTICIPANT, STATE)); accessor.setProperty(accessor.keyBuilder().idealStates(resourceId), idealState); }
private void createISSpec(HelixDataAccessor accessor, String specId, String stateModelDefRef, RebalanceMode rebalanceMode) { PropertyKey propertyKey = accessor.keyBuilder().clusterConfig(); HelixProperty property = accessor.getProperty(propertyKey); if (property == null) { property = new HelixProperty("sampleClusterConfig"); } String key = "IdealStateRule!" + specId; String value = IdealStateProperty.REBALANCE_MODE.toString() + "=" + rebalanceMode.toString() + "," + IdealStateProperty.STATE_MODEL_DEF_REF.toString() + "=" + stateModelDefRef; property.getRecord().setSimpleField(key, value); accessor.setProperty(propertyKey, property); }