do { for (NodeType nodeType : nodesCountDowns.keySet()) { Collection<NodeId> availableNodes = coordinator.getAvailableNodes(nodeType); for (NodeId availableNode : availableNodes) { if (!allNodes.get(nodeType).contains(availableNode)) {
public Map<NodeId,GeneralNodeInfo> getGeneralNodeInfo(String sessionId, Coordinator coordinator) { final String localSessionId = sessionId; Set<NodeId> nodes = new HashSet<NodeId>(); Map<NodeId,GeneralNodeInfo> result = new HashMap<NodeId, GeneralNodeInfo>(); nodes.addAll(coordinator.getAvailableNodes(NodeType.KERNEL)); nodes.addAll(coordinator.getAvailableNodes(NodeType.AGENT)); for (NodeId node : nodes) { try { final GeneralNodeInfo generalNodeInfo = coordinator.getExecutor(node).runSyncWithTimeout(new GetGeneralNodeInfo(sessionId), Coordination.<GetGeneralNodeInfo>doNothing(), nodeCollectInfoTime); generalNodeInfo.setNodeId(node.toString()); log.info("Got node info from node {}:\n {}", node, generalNodeInfo.toString()); getHibernateTemplate().execute(new HibernateCallback<Void>() { @Override public Void doInHibernate(Session session) throws HibernateException, SQLException { session.persist(new NodeInfoEntity(localSessionId,generalNodeInfo)); session.flush(); return null; } }); result.put(node,generalNodeInfo); } catch (Throwable e) { log.error("Get node info failed for node " + node + "\n" + Throwables.getStackTraceAsString(e)); } } return result; }
private void processAgentManagement(String sessionId, Map<ManageAgent.ActionProp, Serializable> agentManagementProps) { for (NodeId agent : coordinator.getAvailableNodes(NodeType.AGENT)) { // async run coordinator.getExecutor(agent).run(new ManageAgent(sessionId, agentManagementProps), Coordination.<ManageAgent>doNothing()); } }
final String sessionId = sessionIdProvider.getSessionId(); Multimap<NodeType, NodeId> allNodes = HashMultimap.create(); allNodes.putAll(NodeType.MASTER, coordinator.getAvailableNodes(NodeType.MASTER)); NodeContext context = Coordination.contextBuilder(NodeId.masterNode()) .addService(LogWriter.class, getLogWriter())