StringRepresentation getControllerRepresentation(String clusterName) throws JsonGenerationException, JsonMappingException, IOException { Builder keyBuilder = new PropertyKey.Builder(clusterName); ZkClient zkClient = ResourceUtil.getAttributeFromCtx(getContext(), ResourceUtil.ContextKey.ZKCLIENT); ZKHelixDataAccessor accessor = new ZKHelixDataAccessor(clusterName, new ZkBaseDataAccessor<ZNRecord>(zkClient)); ZNRecord record = null; LiveInstance leader = accessor.getProperty(keyBuilder.controllerLeader()); if (leader != null) { record = leader.getRecord(); } else { record = new ZNRecord(""); DateFormat formatter = new SimpleDateFormat("yyyyMMdd-HHmmss.SSSSSS"); String time = formatter.format(new Date()); Map<String, String> contentMap = new TreeMap<String, String>(); contentMap.put("AdditionalInfo", "No leader exists"); record.setMapField(Level.HELIX_INFO + "-" + time, contentMap); } boolean paused = (accessor.getProperty(keyBuilder.pause()) == null ? false : true); record.setSimpleField(PropertyType.PAUSE.toString(), "" + paused); String retVal = ClusterRepresentationUtil.ZNRecordToJson(record); StringRepresentation representation = new StringRepresentation(retVal, MediaType.APPLICATION_JSON); return representation; }
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!"); } } }
final ZNRecord emptyHistory = new ZNRecord(PropertyType.HISTORY.toString()); final List<String> emptyList = new ArrayList<String>(); emptyHistory.setListField(clusterName, emptyList);
final ZNRecord emptyHistory = new ZNRecord(PropertyType.HISTORY.toString()); final List<String> emptyList = new ArrayList<String>(); emptyHistory.setListField(clusterName, emptyList);
.create(PropertyPathBuilder.controller(clusterName), new ZNRecord(clusterName), 0); path = PropertyPathBuilder.controllerHistory(clusterName); final ZNRecord emptyHistory = new ZNRecord(PropertyType.HISTORY.toString()); final List<String> emptyList = new ArrayList<String>(); emptyHistory.setListField(clusterName, emptyList);