narendly commented on a change in pull request #413: Add cluster level default instance config. URL: https://github.com/apache/helix/pull/413#discussion_r314769226
########## File path: helix-core/src/main/java/org/apache/helix/model/ClusterConfig.java ########## @@ -700,6 +703,48 @@ public void setInstanceCapacityKeys(List<String> capacityKeys) { return capacityKeys; } + /** + * Get the default instance capacity information from the map fields. + * + * @return data map if it exists, or empty map + */ + public Map<String, Integer> getDefaultInstanceCapacityMap() { + Map<String, String> capacityData = + _record.getMapField(ClusterConfigProperty.DEFAULT_INSTANCE_CAPACITY_MAP.name()); + + if (capacityData != null) { + return capacityData.entrySet().stream().collect( + Collectors.toMap(entry -> entry.getKey(), entry -> Integer.parseInt(entry.getValue()))); + } + return Collections.emptyMap(); + } + + /** + * Set the default instance capacity information with an Integer mapping + * + * @param capacityDataMap - map of instance capacity data + * @throws IllegalArgumentException - when any of the data value is a negative number or when the map is empty + */ + public void setDefaultInstanceCapacityMap(Map<String, Integer> capacityDataMap) + throws IllegalArgumentException { + if (capacityDataMap == null || capacityDataMap.size() == 0) { + throw new IllegalArgumentException("Default Instance Capacity Data is empty"); + } + + Map<String, String> capacityData = new HashMap<>(); + + capacityDataMap.entrySet().stream().forEach(entry -> { Review comment: Is it better to stream this vs doing Collection.forEach? ---------------------------------------------------------------- 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: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@helix.apache.org For additional commands, e-mail: reviews-h...@helix.apache.org