somandal commented on code in PR #15284:
URL: https://github.com/apache/pinot/pull/15284#discussion_r2003996827


##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/rebalance/RebalanceSummaryResult.java:
##########
@@ -39,6 +39,8 @@ public class RebalanceSummaryResult {
   private final ServerInfo _serverInfo;
   @JsonInclude(JsonInclude.Include.NON_NULL)
   private final SegmentInfo _segmentInfo;
+  @JsonInclude(JsonInclude.Include.NON_NULL)
+  private final List<TenantInfo> _tenantsInfo;

Review Comment:
   nit: can we call this `tenantInfo` instead?



##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/rebalance/TableRebalancer.java:
##########
@@ -670,6 +686,20 @@ private RebalanceSummaryResult 
calculateDryRunSummary(Map<String, Map<String, St
       serverSegmentChangeInfoMap.put(server, new 
RebalanceSummaryResult.ServerSegmentChangeInfo(serverStatus,
           totalNewSegments, totalExistingSegments, segmentsAdded, 
segmentsDeleted, segmentsUnchanged,
           instanceToTagsMap.getOrDefault(server, null)));
+      List<String> serverTags = getServerTag(server);
+      // Since this is a server in the target assignment, it should contain at 
least one tag of the tenant or tier
+      // server tag. Note that if the server is tagged with multiple tenant or 
tier tags that are used in the table
+      // config, we will count it multiple times, i.e. the total segment count 
would not add up to the actual total.
+      assert serverTags != null;

Review Comment:
   can we avoid assert and set some special error status instead? while it is 
good to try and get summary updated, we probably don't want to fail rebalance 
or dryRun at this stage. maybe we can track `numServersWithoutTags`?
   
   also, it is possible `serverTags` is not null, but has size 0 or doesn't 
have one of the expected tags - what's your intention with that scenario? 
   
   I understand this shouldn't happen, otherwise how'd this server get 
selected, but I guess there could be race conditions where someone issued 
rebalance and untagged servers etc. 



-- 
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.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to