clintropolis commented on a change in pull request #7185: Avoid many 
unnecessary materializations of collections of 'all segments in cluster' 
cardinality
URL: https://github.com/apache/incubator-druid/pull/7185#discussion_r262817348
 
 

 ##########
 File path: 
server/src/main/java/org/apache/druid/server/coordinator/helper/DruidCoordinatorSegmentInfoLoader.java
 ##########
 @@ -42,8 +42,17 @@ public DruidCoordinatorRuntimeParams 
run(DruidCoordinatorRuntimeParams params)
   {
     log.info("Starting coordination. Getting available segments.");
 
-    // Display info about all available segments
-    final Set<DataSegment> availableSegments = 
coordinator.getOrderedAvailableDataSegments();
+    final TreeSet<DataSegment> availableSegments = 
DruidCoordinatorRuntimeParams.createAvailableSegmentsSet();
+    for (DataSegment segment : coordinator.iterateAvailableDataSegments()) {
+      if (segment.getSize() < 0) {
+        log.makeAlert("No size on a segment")
 
 Review comment:
   I know this isn't introduced here, but is it actually useful? This check 
looks like it has been here since the initial OSS commit, though in that form 
it looks like it attempted to do something if size was less than 0.
   
   It seems like this should happen, and we don't actually do anything other 
than alert if it does happen, so does it really qualify as an alert?
   
   The main reason I ask is it seems like the 3 places we are calling 
`DruidCoordinatorRuntimeParams.createAvailableSegmentsSet()` we then 
immediately fill it up afterwards, perhaps it could just take an 
`Iterable<DataSegment>` instead and could just produce the populated `TreeSet` 
directly if we didn't need this alert.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to