Map<String, TopologyResources> resources = cluster.getTopologyResourcesMap(); idToResources.getAndAccumulate(resources, (orig, update) -> Utils.merge(orig, update));
if (getTopologyResourcesMap().containsKey(topId)) { Double[] topo_resources = getTopologyResourcesMap().get(topId); topo_resources[5] = assignedCpuForTopology; } else {
private void updateChanges(Cluster cluster, Topologies topologies) { //Cannot simply set this.cluster=schedulingState.cluster since clojure is immutable cluster.setAssignments(schedulingState.cluster.getAssignments()); cluster.setBlacklistedHosts(schedulingState.cluster.getBlacklistedHosts()); cluster.setStatusMap(schedulingState.cluster.getStatusMap()); cluster.setSupervisorsResourcesMap(schedulingState.cluster.getSupervisorsResourcesMap()); cluster.setTopologyResourcesMap(schedulingState.cluster.getTopologyResourcesMap()); cluster.setWorkerResourcesMap(schedulingState.cluster.getWorkerResourcesMap()); //updating resources used by supervisor updateSupervisorsResources(cluster, topologies); }