Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/921#discussion_r150971910
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/coord/zk/ZKClusterCoordinator.java
 ---
    @@ -229,27 +275,42 @@ public DrillbitEndpoint 
apply(ServiceInstance<DrillbitEndpoint> input) {
             });
     
           // set of newly dead bits : original bits - new set of active bits.
    -      Set<DrillbitEndpoint> unregisteredBits = new HashSet<>(endpoints);
    -      unregisteredBits.removeAll(newDrillbitSet);
    -
    +      Set<DrillbitEndpoint> unregisteredBits = new HashSet<>();
           // Set of newly live bits : new set of active bits - original bits.
    -      Set<DrillbitEndpoint> registeredBits = new HashSet<>(newDrillbitSet);
    -      registeredBits.removeAll(endpoints);
    +      Set<DrillbitEndpoint> registeredBits = new HashSet<>();
     
    -      endpoints = newDrillbitSet;
     
    +      // Updates the endpoints map if there is a change in state of the 
endpoint or with the addition
    +      // of new drillbit endpoints. Registered endpoints is set to newly 
live drillbit endpoints.
    +      for ( DrillbitEndpoint endpoint : newDrillbitSet) {
    +        String endpointAddress = endpoint.getAddress();
    +        int endpointPort = endpoint.getUserPort();
    +        if (! endpointsMap.containsKey(new MultiKey(endpointAddress, 
endpointPort))) {
    +          registeredBits.add(endpoint);
    +        }
    +        endpointsMap.put(new MultiKey(endpointAddress, 
endpointPort),endpoint);
    +      }
    +//       Remove all the endpoints that are newly dead
    --- End diff --
    
    Minor: comment character usually is aligned with code, as above.


---

Reply via email to