saurabhd336 commented on code in PR #10255: URL: https://github.com/apache/pinot/pull/10255#discussion_r1126068096
########## pinot-controller/src/main/java/org/apache/pinot/controller/api/resources/PinotInstanceAssignmentRestletResource.java: ########## @@ -207,22 +247,42 @@ public Map<InstancePartitionsType, InstancePartitions> assignInstances( * @param instanceConfigs list of instance configs * @param instancePartitionsType type of instancePartitions */ - private void assignInstancesForInstancePartitionsType( - Map<InstancePartitionsType, InstancePartitions> instancePartitionsMap, TableConfig tableConfig, - List<InstanceConfig> instanceConfigs, InstancePartitionsType instancePartitionsType) { + private void assignInstancesForInstancePartitionsType(Map<String, InstancePartitions> instancePartitionsMap, + TableConfig tableConfig, List<InstanceConfig> instanceConfigs, InstancePartitionsType instancePartitionsType) { String tableNameWithType = tableConfig.getTableName(); if (TableConfigUtils.hasPreConfiguredInstancePartitions(tableConfig, instancePartitionsType)) { String rawTableName = TableNameBuilder.extractRawTableName(tableNameWithType); - instancePartitionsMap.put(instancePartitionsType, InstancePartitionsUtils.fetchInstancePartitionsWithRename( - _resourceManager.getPropertyStore(), tableConfig.getInstancePartitionsMap().get(instancePartitionsType), - instancePartitionsType.getInstancePartitionsName(rawTableName))); + instancePartitionsMap.put(instancePartitionsType.toString(), + InstancePartitionsUtils.fetchInstancePartitionsWithRename(_resourceManager.getPropertyStore(), + tableConfig.getInstancePartitionsMap().get(instancePartitionsType), + instancePartitionsType.getInstancePartitionsName(rawTableName))); return; } InstancePartitions existingInstancePartitions = InstancePartitionsUtils.fetchInstancePartitions(_resourceManager.getHelixZkManager().getHelixPropertyStore(), InstancePartitionsUtils.getInstancePartitionsName(tableNameWithType, instancePartitionsType.toString())); - instancePartitionsMap.put(instancePartitionsType, new InstanceAssignmentDriver(tableConfig) - .assignInstances(instancePartitionsType, instanceConfigs, existingInstancePartitions)); + instancePartitionsMap.put(instancePartitionsType.toString(), + new InstanceAssignmentDriver(tableConfig).assignInstances(instancePartitionsType, instanceConfigs, + existingInstancePartitions)); + } + + private void assignInstancesForTier(Map<String, InstancePartitions> instancePartitionsMap, TableConfig tableConfig, + List<InstanceConfig> instanceConfigs, String tierName) { + if (CollectionUtils.isNotEmpty(tableConfig.getTierConfigsList()) + && tableConfig.getInstanceAssignmentConfigMap() != null) { + for (TierConfig tierConfig : tableConfig.getTierConfigsList()) { + if ((tierConfig.getName().equals(tierName) || tierName == null) Review Comment: So this method is used to create and persist instance partitions. If type == null, it's implied that we create instance partitions for all eligible instance partition types and tiers. If it's set to some value, we only assign for that particular partition type / tier -- 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