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

    https://github.com/apache/storm/pull/2433#discussion_r173216785
  
    --- Diff: 
storm-client/src/jvm/org/apache/storm/grouping/LoadAwareShuffleGrouping.java ---
    @@ -295,7 +295,11 @@ private Scope calculateScope(Map<Integer, NodeInfo> 
taskToNodePort, Map<String,
         private Map<String, String> getHostToRackMapping(Map<Integer, 
NodeInfo> taskToNodePort) {
             Set<String> hosts = new HashSet();
             for (int task: targetTasks) {
    -            hosts.add(taskToNodePort.get(task).get_node());
    +            //if this task containing worker will be killed by a 
assignments sync,
    +            //taskToNodePort will be an empty map which is refreshed by 
WorkerState
    +            if (taskToNodePort.containsKey(task)) {
    +                hosts.add(taskToNodePort.get(task).get_node());
    +            }
    --- End diff --
    
    Nit: could we log an error if it does not contain the task?  I just want to 
be sure that we know something possibly unexpected has happened here.


---

Reply via email to