private void addSummary(Map<String, Map<String, String>> _resultSummaryMap, Message originalMessage, HelixManager manager, boolean timeOut) { Map<String, String> summary = new TreeMap<String, String>(); summary.put("TotalMessages:", "" + _resultSummaryMap.size()); summary.put("Timeout", "" + timeOut); _resultSummaryMap.put("Summary", summary); HelixDataAccessor accessor = manager.getHelixDataAccessor(); Builder keyBuilder = accessor.keyBuilder(); ZNRecord statusUpdate = accessor.getProperty( keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), originalMessage.getMsgId())).getRecord(); statusUpdate.getMapFields().putAll(_resultSummaryMap); accessor.setProperty( keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), originalMessage.getMsgId()), new StatusUpdate(statusUpdate)); } }
private void addSummary(Map<String, Map<String, String>> _resultSummaryMap, Message originalMessage, HelixManager manager, boolean timeOut) { Map<String, String> summary = new TreeMap<String, String>(); summary.put("TotalMessages:", "" + _resultSummaryMap.size()); summary.put("Timeout", "" + timeOut); _resultSummaryMap.put("Summary", summary); HelixDataAccessor accessor = manager.getHelixDataAccessor(); Builder keyBuilder = accessor.keyBuilder(); ZNRecord statusUpdate = accessor.getProperty( keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), originalMessage.getMsgId())).getRecord(); statusUpdate.getMapFields().putAll(_resultSummaryMap); accessor.setProperty( keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), originalMessage.getMsgId()), new StatusUpdate(statusUpdate)); } }
for (String controllerMsgId : controllerMsgUpdates.keySet()) { PropertyKey controllerStatusUpdateKey = keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), controllerMsgId); StatusUpdate controllerStatusUpdate = accessor.getProperty(controllerStatusUpdateKey); for (String taskPartitionName : controllerMsgUpdates.get(controllerMsgId).keySet()) {
Thread.sleep(200); PropertyKey controllerTaskStatus = keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), msgId); ZNRecord statusUpdate = helixDataAccessor.getProperty(controllerTaskStatus).getRecord(); if (statusUpdate.getMapFields().containsKey("SentMessageCount")) { Thread.sleep(200); PropertyKey controllerTaskStatus = keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), msgId); ZNRecord statusUpdate = helixDataAccessor.getProperty(controllerTaskStatus).getRecord(); if (statusUpdate.getMapFields().containsKey("Summary")) { keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), msgId); ZNRecord statusUpdate = helixDataAccessor.getProperty(controllerTaskStatus).getRecord(); Assert.assertTrue(statusUpdate.getMapField("SentMessageCount").get("MessageCount")
keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), schedulerMessage.getMsgId());
Thread.sleep(200); PropertyKey controllerTaskStatus = keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), msgId); ZNRecord statusUpdate = helixDataAccessor.getProperty(controllerTaskStatus).getRecord(); if (statusUpdate.getMapFields().containsKey("Summary")) { keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), msgId); ZNRecord statusUpdate = helixDataAccessor.getProperty(controllerTaskStatus).getRecord(); Assert.assertTrue(statusUpdate.getMapField("SentMessageCount").get("MessageCount") Thread.sleep(200); PropertyKey controllerTaskStatus = keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), msgIdPrime); ZNRecord statusUpdate = helixDataAccessor.getProperty(controllerTaskStatus).getRecord(); if (statusUpdate.getMapFields().containsKey("Summary")) {
Thread.sleep(200); PropertyKey controllerTaskStatus = keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), msgId); ZNRecord statusUpdate = helixDataAccessor.getProperty(controllerTaskStatus).getRecord(); if (statusUpdate.getMapFields().containsKey("Summary")) { keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), msgId); ZNRecord statusUpdate = helixDataAccessor.getProperty(controllerTaskStatus).getRecord(); Assert.assertTrue(statusUpdate.getMapField("SentMessageCount").get("MessageCount")
for (String controllerMsgId : controllerMsgUpdates.keySet()) { PropertyKey controllerStatusUpdateKey = keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), controllerMsgId); StatusUpdate controllerStatusUpdate = accessor.getProperty(controllerStatusUpdateKey); for (String taskPartitionName : controllerMsgUpdates.get(controllerMsgId).keySet()) {
keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), _message.getMsgId())).getRecord(); accessor.setProperty(keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), _message.getMsgId()), new StatusUpdate(statusUpdate));
keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), _message.getMsgId())).getRecord(); accessor.setProperty(keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), _message.getMsgId()), new StatusUpdate(statusUpdate));
keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), schedulerMessage.getMsgId());
controllerStatusUpdateKey = keyBuilder.controllerTaskStatus("session_0", "TestDB"); accessor.setProperty(controllerStatusUpdateKey, new StatusUpdate(new ZNRecord( "controllerStatusUpdate"))); keyBuilder.stateTransitionError("localhost_12918", "session_0", "TestDB0", "TestDB0_1"); accessor.setProperty(errorKey, new Error(new ZNRecord("error"))); controllerStatusUpdateKey = keyBuilder.controllerTaskStatus("session_0", "TestDB1"); accessor.setProperty(controllerStatusUpdateKey, new StatusUpdate(new ZNRecord( "controllerStatusUpdate")));
Thread.sleep(200); PropertyKey controllerTaskStatus = keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), msgId); ZNRecord statusUpdate = helixDataAccessor.getProperty(controllerTaskStatus).getRecord(); if (statusUpdate.getMapFields().containsKey("Summary")) { keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), msgId); ZNRecord statusUpdate = helixDataAccessor.getProperty(controllerTaskStatus).getRecord(); Assert.assertTrue(statusUpdate.getMapField("SentMessageCount").get("MessageCount")
keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), _message.getMsgId())).getRecord(); accessor.updateProperty(keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), _message.getMsgId()), new StatusUpdate(statusUpdate));
if (isController) { accessor .updateProperty(keyBuilder.controllerTaskStatus(statusUpdateSubPath, statusUpdateKey), new StatusUpdate(createMessageLogRecord(message))); keyBuilder.controllerTaskStatus(statusUpdateSubPath, statusUpdateKey), new StatusUpdate( record)); } else {
if (isController) { accessor .updateProperty(keyBuilder.controllerTaskStatus(statusUpdateSubPath, statusUpdateKey), new StatusUpdate(createMessageLogRecord(message))); keyBuilder.controllerTaskStatus(statusUpdateSubPath, statusUpdateKey), new StatusUpdate( record)); } else {
keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), _message.getMsgId())).getRecord(); accessor.updateProperty(keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), _message.getMsgId()), new StatusUpdate(statusUpdate));
controllerStatusUpdateKey = keyBuilder.controllerTaskStatus("session_0", "TestDB"); accessor.setProperty(controllerStatusUpdateKey, new StatusUpdate(new ZNRecord( "controllerStatusUpdate")));
keyBuilder.controllerTaskStatus(MessageType.SCHEDULER_MSG.name(), schedulerMessage.getMsgId()); for (int i = 0; i < 10; i++) {
StringRepresentation getControllerStatusUpdateRepresentation(String zkServerAddress, String clusterName, String sessionId, String messageType, String messageId) throws JsonGenerationException, JsonMappingException, IOException { Builder keyBuilder = new PropertyKey.Builder(clusterName); ZkClient zkClient = (ZkClient) getContext().getAttributes().get(RestAdminApplication.ZKCLIENT); String message = ClusterRepresentationUtil.getPropertyAsString(zkClient, clusterName, keyBuilder.controllerTaskStatus(messageType, messageId), MediaType.APPLICATION_JSON); StringRepresentation representation = new StringRepresentation(message, MediaType.APPLICATION_JSON); return representation; } }