Github user revans2 commented on a diff in the pull request:

    https://github.com/apache/storm/pull/2385#discussion_r149162313
  
    --- Diff: 
storm-server/src/main/java/org/apache/storm/scheduler/Cluster.java ---
    @@ -993,6 +1045,31 @@ public WorkerResources getWorkerResources(WorkerSlot 
ws) {
         }
     
         @Override
    +    public Map<String, Double> getAllScheduledResourcesForNode(String 
nodeId) {
    +        Map<String, Double> totalScheduledResources = new HashMap<>();
    +        for (SchedulerAssignmentImpl assignment : assignments.values()) {
    +            for (Entry<WorkerSlot, WorkerResources> entry :
    +                    assignment.getScheduledResources().entrySet()) {
    +                if (nodeId.equals(entry.getKey().getNodeId())) {
    +                    WorkerResources resources = entry.getValue();
    +                    for (Map.Entry<String, Double> resourceEntry : 
resources.get_resources().entrySet()) {
    +                        Double currentResourceValue = 
totalScheduledResources.containsKey(resourceEntry.getKey()) ? 
totalScheduledResources.get(resourceEntry.getKey()) : 0.0;
    --- End diff --
    
    This is actually the perfect place to call getOrDefault.


---

Reply via email to