This is an automated email from the ASF dual-hosted git repository.

yashmayya pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new 76c2ec25c5d Cleanup segment assignment strategy interface (#17038)
76c2ec25c5d is described below

commit 76c2ec25c5dafaff86b984abc69f41f3dda94a17
Author: Yash Mayya <[email protected]>
AuthorDate: Fri Oct 17 17:58:01 2025 -0700

    Cleanup segment assignment strategy interface (#17038)
---
 .../assignment/segment/BaseSegmentAssignment.java   | 12 +++++-------
 .../segment/OfflineSegmentAssignment.java           | 11 ++++-------
 .../segment/RealtimeSegmentAssignment.java          |  8 +++-----
 .../AllServersSegmentAssignmentStrategy.java        | 17 ++++++-----------
 .../BalancedNumSegmentAssignmentStrategy.java       | 21 +++++++++------------
 .../ReplicaGroupSegmentAssignmentStrategy.java      | 11 ++++-------
 .../segment/strategy/SegmentAssignmentStrategy.java | 20 +++++++++-----------
 .../strategy/SegmentAssignmentStrategyFactory.java  |  8 ++------
 8 files changed, 42 insertions(+), 66 deletions(-)

diff --git 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/BaseSegmentAssignment.java
 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/BaseSegmentAssignment.java
index e0872687548..7a6ad7511d6 100644
--- 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/BaseSegmentAssignment.java
+++ 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/BaseSegmentAssignment.java
@@ -33,7 +33,6 @@ import 
org.apache.pinot.controller.helix.core.assignment.segment.strategy.Segmen
 import 
org.apache.pinot.controller.helix.core.assignment.segment.strategy.SegmentAssignmentStrategyFactory;
 import org.apache.pinot.segment.local.utils.TableConfigUtils;
 import org.apache.pinot.spi.config.table.TableConfig;
-import org.apache.pinot.spi.config.table.assignment.InstancePartitionsType;
 import 
org.apache.pinot.spi.utils.CommonConstants.Helix.StateModel.SegmentStateModel;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -94,8 +93,7 @@ public abstract class BaseSegmentAssignment implements 
SegmentAssignment {
    */
   protected Pair<List<Map<String, Map<String, String>>>, Map<String, 
Map<String, String>>> rebalanceTiers(
       Map<String, Map<String, String>> currentAssignment, @Nullable List<Tier> 
sortedTiers,
-      @Nullable Map<String, InstancePartitions> tierInstancePartitionsMap, 
boolean bootstrap,
-      InstancePartitionsType instancePartitionsType) {
+      @Nullable Map<String, InstancePartitions> tierInstancePartitionsMap, 
boolean bootstrap) {
     if (sortedTiers == null) {
       return Pair.of(null, currentAssignment);
     }
@@ -129,7 +127,7 @@ public abstract class BaseSegmentAssignment implements 
SegmentAssignment {
       _logger.info("Rebalancing tier: {} for table: {} with bootstrap: {}, 
instance partitions: {}", tierName,
           _tableNameWithType, bootstrap, tierInstancePartitions);
       newTierAssignments.add(reassignSegments(tierName, tierCurrentAssignment, 
tierInstancePartitions, bootstrap,
-          segmentAssignmentStrategy, instancePartitionsType));
+          segmentAssignmentStrategy));
     }
 
     return Pair.of(newTierAssignments, 
tierSegmentAssignment.getNonTierSegmentAssignment());
@@ -140,7 +138,7 @@ public abstract class BaseSegmentAssignment implements 
SegmentAssignment {
    */
   protected Map<String, Map<String, String>> reassignSegments(String 
instancePartitionType,
       Map<String, Map<String, String>> currentAssignment, InstancePartitions 
instancePartitions, boolean bootstrap,
-      SegmentAssignmentStrategy segmentAssignmentStrategy, 
InstancePartitionsType instancePartitionsType) {
+      SegmentAssignmentStrategy segmentAssignmentStrategy) {
     Map<String, Map<String, String>> newAssignment;
     if (bootstrap) {
       _logger.info("Bootstrapping segment assignment for {} segments of table: 
{}", instancePartitionType,
@@ -150,14 +148,14 @@ public abstract class BaseSegmentAssignment implements 
SegmentAssignment {
       newAssignment = new TreeMap<>();
       for (String segment : currentAssignment.keySet()) {
         List<String> assignedInstances =
-            segmentAssignmentStrategy.assignSegment(segment, newAssignment, 
instancePartitions, instancePartitionsType);
+            segmentAssignmentStrategy.assignSegment(segment, newAssignment, 
instancePartitions);
         newAssignment
             .put(segment, 
SegmentAssignmentUtils.getInstanceStateMap(assignedInstances, 
SegmentStateModel.ONLINE));
       }
     } else {
       // Use segment assignment strategy
       newAssignment =
-          segmentAssignmentStrategy.reassignSegments(currentAssignment, 
instancePartitions, instancePartitionsType);
+          segmentAssignmentStrategy.reassignSegments(currentAssignment, 
instancePartitions);
     }
     return newAssignment;
   }
diff --git 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/OfflineSegmentAssignment.java
 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/OfflineSegmentAssignment.java
index 5e407564f71..0fa88db8c2c 100644
--- 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/OfflineSegmentAssignment.java
+++ 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/OfflineSegmentAssignment.java
@@ -51,8 +51,7 @@ public class OfflineSegmentAssignment extends 
BaseSegmentAssignment {
     _logger.info("Assigning segment: {} with instance partitions: {} for 
table: {}", segmentName, instancePartitions,
         _tableNameWithType);
     List<String> instancesAssigned =
-        segmentAssignmentStrategy.assignSegment(segmentName, 
currentAssignment, instancePartitions,
-            InstancePartitionsType.OFFLINE);
+        segmentAssignmentStrategy.assignSegment(segmentName, 
currentAssignment, instancePartitions);
     _logger.info("Assigned segment: {} to instances: {} for table: {}", 
segmentName, instancesAssigned,
         _tableNameWithType);
     return instancesAssigned;
@@ -74,14 +73,12 @@ public class OfflineSegmentAssignment extends 
BaseSegmentAssignment {
     // tierPartitionMap has single tier for Dim tables and remove below check
     // See https://github.com/apache/pinot/issues/9047
     if (segmentAssignmentStrategy instanceof 
AllServersSegmentAssignmentStrategy) {
-      return segmentAssignmentStrategy.reassignSegments(currentAssignment, 
offlineInstancePartitions,
-          InstancePartitionsType.OFFLINE);
+      return segmentAssignmentStrategy.reassignSegments(currentAssignment, 
offlineInstancePartitions);
     }
     boolean bootstrap = config.isBootstrap();
     // Rebalance tiers first
     Pair<List<Map<String, Map<String, String>>>, Map<String, Map<String, 
String>>> pair =
-        rebalanceTiers(currentAssignment, sortedTiers, 
tierInstancePartitionsMap, bootstrap,
-            InstancePartitionsType.OFFLINE);
+        rebalanceTiers(currentAssignment, sortedTiers, 
tierInstancePartitionsMap, bootstrap);
     List<Map<String, Map<String, String>>> newTierAssignments = pair.getLeft();
     Map<String, Map<String, String>> nonTierAssignment = pair.getRight();
 
@@ -89,7 +86,7 @@ public class OfflineSegmentAssignment extends 
BaseSegmentAssignment {
         offlineInstancePartitions, bootstrap);
     Map<String, Map<String, String>> newAssignment =
         reassignSegments(InstancePartitionsType.OFFLINE.toString(), 
nonTierAssignment, offlineInstancePartitions,
-            bootstrap, segmentAssignmentStrategy, 
InstancePartitionsType.OFFLINE);
+            bootstrap, segmentAssignmentStrategy);
 
     // Add tier assignments, if available
     if (CollectionUtils.isNotEmpty(newTierAssignments)) {
diff --git 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/RealtimeSegmentAssignment.java
 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/RealtimeSegmentAssignment.java
index 2b24a1405b2..616dd8b79bd 100644
--- 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/RealtimeSegmentAssignment.java
+++ 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/RealtimeSegmentAssignment.java
@@ -96,8 +96,7 @@ public class RealtimeSegmentAssignment extends 
BaseSegmentAssignment {
       SegmentAssignmentStrategy segmentAssignmentStrategy =
           
SegmentAssignmentStrategyFactory.getSegmentAssignmentStrategy(_helixManager, 
_tableConfig,
               instancePartitionsType.toString(), instancePartitions);
-      instancesAssigned = segmentAssignmentStrategy.assignSegment(segmentName, 
currentAssignment, instancePartitions,
-          InstancePartitionsType.COMPLETED);
+      instancesAssigned = segmentAssignmentStrategy.assignSegment(segmentName, 
currentAssignment, instancePartitions);
     } else {
       instancesAssigned = assignConsumingSegment(segmentName, 
instancePartitions);
     }
@@ -186,8 +185,7 @@ public class RealtimeSegmentAssignment extends 
BaseSegmentAssignment {
     boolean bootstrap = config.isBootstrap();
     // Rebalance tiers first
     Pair<List<Map<String, Map<String, String>>>, Map<String, Map<String, 
String>>> pair =
-        rebalanceTiers(currentAssignment, sortedTiers, 
tierInstancePartitionsMap, bootstrap,
-            InstancePartitionsType.COMPLETED);
+        rebalanceTiers(currentAssignment, sortedTiers, 
tierInstancePartitionsMap, bootstrap);
 
     List<Map<String, Map<String, String>>> newTierAssignments = pair.getLeft();
     Map<String, Map<String, String>> nonTierAssignment = pair.getRight();
@@ -220,7 +218,7 @@ public class RealtimeSegmentAssignment extends 
BaseSegmentAssignment {
       _logger.info("Reassigning COMPLETED segments with COMPLETED instance 
partitions for table: {}",
           _tableNameWithType);
       newAssignment = 
reassignSegments(InstancePartitionsType.COMPLETED.toString(), 
completedSegmentAssignment,
-          completedInstancePartitions, bootstrap, segmentAssignmentStrategy, 
InstancePartitionsType.COMPLETED);
+          completedInstancePartitions, bootstrap, segmentAssignmentStrategy);
     } else {
       // When COMPLETED instance partitions are not provided, reassign 
COMPLETED segments the same way as CONSUMING
       // segments with CONSUMING instance partitions (ensure COMPLETED 
segments are served by the correct instances when
diff --git 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/AllServersSegmentAssignmentStrategy.java
 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/AllServersSegmentAssignmentStrategy.java
index fee2b7831b7..794cddd40bd 100644
--- 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/AllServersSegmentAssignmentStrategy.java
+++ 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/AllServersSegmentAssignmentStrategy.java
@@ -31,7 +31,6 @@ import org.apache.pinot.common.utils.helix.HelixHelper;
 import 
org.apache.pinot.controller.helix.core.assignment.segment.SegmentAssignmentUtils;
 import org.apache.pinot.spi.config.table.TableConfig;
 import org.apache.pinot.spi.config.table.TenantConfig;
-import org.apache.pinot.spi.config.table.assignment.InstancePartitionsType;
 import org.apache.pinot.spi.utils.CommonConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -41,13 +40,11 @@ import org.slf4j.LoggerFactory;
  * Segment assignment for an offline dimension table.
  * <ul>
  *   <li>
- *     <p>This segment assignment strategy is used when {@link 
TableConfig#IS_DIM_TABLE_KEY}is
- *     set to "true".</p>
+ *     This segment assignment strategy is used when {@link 
TableConfig#IS_DIM_TABLE_KEY} is set to "true".
  *   </li>
  *   <li>
- *     <p>For a dimension table we assign the segment to all the hosts. Thus 
for this assignment
- *     strategy we simply return all the hosts under a given tag as the 
assigned hosts for
- *     a given segment.</p>
+ *     For a dimension table we assign all segments to all the servers. Thus, 
for this assignment strategy, we simply
+ *     return all the instances under a given tag as the assigned instances 
for any given segment.
  *   </li>
  * </ul>
  */
@@ -55,20 +52,18 @@ public class AllServersSegmentAssignmentStrategy implements 
SegmentAssignmentStr
   private static final Logger LOGGER = 
LoggerFactory.getLogger(AllServersSegmentAssignmentStrategy.class);
 
   private HelixManager _helixManager;
-  private String _offlineTableName;
   private TenantConfig _tenantConfig;
 
   @Override
   public void init(HelixManager helixManager, TableConfig tableConfig) {
     _helixManager = helixManager;
-    _offlineTableName = tableConfig.getTableName();
     _tenantConfig = tableConfig.getTenantConfig();
-    LOGGER.info("Initialized AllServersSegmentAssignmentStrategy for table: 
{}", _offlineTableName);
+    LOGGER.info("Initialized AllServersSegmentAssignmentStrategy for table: 
{}", tableConfig.getTableName());
   }
 
   @Override
   public List<String> assignSegment(String segmentName, Map<String, 
Map<String, String>> currentAssignment,
-      InstancePartitions instancePartitions, InstancePartitionsType 
instancePartitionsType) {
+      InstancePartitions instancePartitions) {
     String serverTag = _tenantConfig.getServer();
     Set<String> instances = 
HelixHelper.getServerInstancesForTenant(_helixManager, serverTag);
     int numInstances = instances.size();
@@ -79,7 +74,7 @@ public class AllServersSegmentAssignmentStrategy implements 
SegmentAssignmentStr
 
   @Override
   public Map<String, Map<String, String>> reassignSegments(Map<String, 
Map<String, String>> currentAssignment,
-      InstancePartitions instancePartitions, InstancePartitionsType 
instancePartitionsType) {
+      InstancePartitions instancePartitions) {
 
     String serverTag = _tenantConfig.getServer();
     Set<String> instances = 
HelixHelper.getServerInstancesForTenant(_helixManager, serverTag);
diff --git 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/BalancedNumSegmentAssignmentStrategy.java
 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/BalancedNumSegmentAssignmentStrategy.java
index c1270705848..a4411de89b5 100644
--- 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/BalancedNumSegmentAssignmentStrategy.java
+++ 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/BalancedNumSegmentAssignmentStrategy.java
@@ -26,18 +26,15 @@ import 
org.apache.pinot.common.assignment.InstancePartitions;
 import 
org.apache.pinot.controller.helix.core.assignment.segment.SegmentAssignmentUtils;
 import org.apache.pinot.spi.config.table.SegmentsValidationAndRetentionConfig;
 import org.apache.pinot.spi.config.table.TableConfig;
-import org.apache.pinot.spi.config.table.assignment.InstancePartitionsType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 
 /**
- * Balance num Segment assignment strategy class for offline segment assignment
- * <ul>
- *   <li>
- *     <p>This segment assignment strategy is used when table replication/ 
num_replica_groups = 1.</p>
- *   </li>
- * </ul>
+ * Balanced segment assignment strategy class where segments are distributed 
to instances such that each instance has
+ * approximately the same number of segments. This is the default segment 
assignment strategy.
+ * <p>
+ * This segment assignment strategy is used when table replication/ 
num_replica_groups = 1.
  */
 public class BalancedNumSegmentAssignmentStrategy implements 
SegmentAssignmentStrategy {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(BalancedNumSegmentAssignmentStrategy.class);
@@ -47,7 +44,7 @@ public class BalancedNumSegmentAssignmentStrategy implements 
SegmentAssignmentSt
   @Override
   public void init(HelixManager helixManager, TableConfig tableConfig) {
     SegmentsValidationAndRetentionConfig validationAndRetentionConfig = 
tableConfig.getValidationConfig();
-    Preconditions.checkState(validationAndRetentionConfig != null, "Validation 
Config is null");
+    Preconditions.checkState(validationAndRetentionConfig != null, 
"segmentsConfig is null");
     _replication = tableConfig.getReplication();
     LOGGER.info("Initialized BalancedNumSegmentAssignmentStrategy for table: 
{} with replication: {}",
         tableConfig.getTableName(), _replication);
@@ -55,14 +52,14 @@ public class BalancedNumSegmentAssignmentStrategy 
implements SegmentAssignmentSt
 
   @Override
   public List<String> assignSegment(String segmentName, Map<String, 
Map<String, String>> currentAssignment,
-      InstancePartitions instancePartitions, InstancePartitionsType 
instancePartitionsType) {
+      InstancePartitions instancePartitions) {
     validateSegmentAssignmentStrategy(instancePartitions);
     return 
SegmentAssignmentUtils.assignSegmentWithoutReplicaGroup(currentAssignment, 
instancePartitions, _replication);
   }
 
   @Override
   public Map<String, Map<String, String>> reassignSegments(Map<String, 
Map<String, String>> currentAssignment,
-      InstancePartitions instancePartitions, InstancePartitionsType 
instancePartitionsType) {
+      InstancePartitions instancePartitions) {
     validateSegmentAssignmentStrategy(instancePartitions);
     List<String> instances =
         
SegmentAssignmentUtils.getInstancesForNonReplicaGroupBasedAssignment(instancePartitions,
 _replication);
@@ -74,8 +71,8 @@ public class BalancedNumSegmentAssignmentStrategy implements 
SegmentAssignmentSt
     int numPartitions = instancePartitions.getNumPartitions();
     // Non-replica-group based assignment should have numReplicaGroups and 
numPartitions = 1
     Preconditions.checkState(numReplicaGroups == 1,
-        "Replica groups should be 1 in order to use 
BalanceNumSegmentAssignmentStrategy");
+        "Number of replica groups should be 1 in order to use 
BalancedNumSegmentAssignmentStrategy");
     Preconditions.checkState(numPartitions == 1,
-        "Replica groups should be 1 in order to use 
BalanceNumSegmentAssignmentStrategy");
+        "Number of instance partitions should be 1 in order to use 
BalancedNumSegmentAssignmentStrategy");
   }
 }
diff --git 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/ReplicaGroupSegmentAssignmentStrategy.java
 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/ReplicaGroupSegmentAssignmentStrategy.java
index 81d5061ab4f..c27c0645b08 100644
--- 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/ReplicaGroupSegmentAssignmentStrategy.java
+++ 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/ReplicaGroupSegmentAssignmentStrategy.java
@@ -33,7 +33,6 @@ import 
org.apache.pinot.controller.helix.core.assignment.segment.SegmentAssignme
 import org.apache.pinot.segment.local.utils.TableConfigUtils;
 import org.apache.pinot.spi.config.table.SegmentsValidationAndRetentionConfig;
 import org.apache.pinot.spi.config.table.TableConfig;
-import org.apache.pinot.spi.config.table.assignment.InstancePartitionsType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -45,17 +44,15 @@ class ReplicaGroupSegmentAssignmentStrategy implements 
SegmentAssignmentStrategy
   private String _tableName;
   private String _partitionColumn;
   private int _replication;
-  private TableConfig _tableConfig;
 
   @Override
   public void init(HelixManager helixManager, TableConfig tableConfig) {
     _helixManager = helixManager;
-    _tableConfig = tableConfig;
     _tableName = tableConfig.getTableName();
     SegmentsValidationAndRetentionConfig validationAndRetentionConfig = 
tableConfig.getValidationConfig();
-    Preconditions.checkState(validationAndRetentionConfig != null, "Validation 
Config is null");
+    Preconditions.checkState(validationAndRetentionConfig != null, 
"segmentsConfig is null");
     _replication = tableConfig.getReplication();
-    _partitionColumn = TableConfigUtils.getPartitionColumn(_tableConfig);
+    _partitionColumn = TableConfigUtils.getPartitionColumn(tableConfig);
     if (_partitionColumn == null) {
       LOGGER.info("Initialized ReplicaGroupSegmentAssignmentStrategy "
           + "with replication: {} without partition column for table: {} ", 
_replication, _tableName);
@@ -70,7 +67,7 @@ class ReplicaGroupSegmentAssignmentStrategy implements 
SegmentAssignmentStrategy
    */
   @Override
   public List<String> assignSegment(String segmentName, Map<String, 
Map<String, String>> currentAssignment,
-      InstancePartitions instancePartitions, InstancePartitionsType 
instancePartitionsType) {
+      InstancePartitions instancePartitions) {
     checkReplication(instancePartitions, _replication, _tableName);
     int numPartitions = instancePartitions.getNumPartitions();
     int partitionId;
@@ -86,7 +83,7 @@ class ReplicaGroupSegmentAssignmentStrategy implements 
SegmentAssignmentStrategy
 
   @Override
   public Map<String, Map<String, String>> reassignSegments(Map<String, 
Map<String, String>> currentAssignment,
-      InstancePartitions instancePartitions, InstancePartitionsType 
instancePartitionsType) {
+      InstancePartitions instancePartitions) {
     Map<String, Map<String, String>> newAssignment;
     int numPartitions = instancePartitions.getNumPartitions();
 
diff --git 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/SegmentAssignmentStrategy.java
 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/SegmentAssignmentStrategy.java
index 36222dd90dc..8dcdfbc9b18 100644
--- 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/SegmentAssignmentStrategy.java
+++ 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/SegmentAssignmentStrategy.java
@@ -23,7 +23,6 @@ import java.util.Map;
 import org.apache.helix.HelixManager;
 import org.apache.pinot.common.assignment.InstancePartitions;
 import org.apache.pinot.spi.config.table.TableConfig;
-import org.apache.pinot.spi.config.table.assignment.InstancePartitionsType;
 
 
 /**
@@ -40,9 +39,9 @@ public interface SegmentAssignmentStrategy {
   void init(HelixManager helixManager, TableConfig tableConfig);
 
   /**
-   * Assigns segment to instances. The assignment strategy will be configured 
in
-   * OfflineSegmentAssignment and RealtimeSegmentAssignment classes and 
depending on type of
-   * assignment strategy, this function will be called to assign a new segment
+   * Assigns a segment to instances. The assignment strategy will be 
configured in the OfflineSegmentAssignment and
+   * RealtimeSegmentAssignment classes, and depending on the type of 
assignment strategy, this method will be called
+   * to assign a new segment.
    *
    * @param segmentName Name of the segment to be assigned
    * @param currentAssignment Current segment assignment of the table (map 
from segment name to instance state map)
@@ -50,18 +49,17 @@ public interface SegmentAssignmentStrategy {
    * @return List of instances to assign the segment to
    */
   List<String> assignSegment(String segmentName, Map<String, Map<String, 
String>> currentAssignment,
-      InstancePartitions instancePartitions, InstancePartitionsType 
instancePartitionsType);
+      InstancePartitions instancePartitions);
 
   /**
-   * Re-assigns segment to instances. The assignment strategy will be 
configured in
-   * OfflineSegmentAssignment and RealtimeSegmentAssignment classes and 
depending on type of
-   * assignment strategy, this function will be called to re-assign a segment
-   * when the InstancePartitions has been changed.
+   * Re-assigns segments to instances. The assignment strategy will be 
configured in the OfflineSegmentAssignment and
+   * RealtimeSegmentAssignment classes, and depending on the type of 
assignment strategy, this method will be called
+   * to re-assign segments when the InstancePartitions has been changed.
    *
    * @param currentAssignment Current segment assignment of the table (map 
from segment name to instance state map)
    * @param instancePartitions Instance partitions
-   * @return Rebalanced assignment for the segments per assignment strategy
+   * @return Rebalanced assignment for the segments as per the assignment 
strategy
    */
   Map<String, Map<String, String>> reassignSegments(Map<String, Map<String, 
String>> currentAssignment,
-      InstancePartitions instancePartitions, InstancePartitionsType 
instancePartitionsType);
+      InstancePartitions instancePartitions);
 }
diff --git 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/SegmentAssignmentStrategyFactory.java
 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/SegmentAssignmentStrategyFactory.java
index 33243271bb2..5025f7b9707 100644
--- 
a/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/SegmentAssignmentStrategyFactory.java
+++ 
b/pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/assignment/segment/strategy/SegmentAssignmentStrategyFactory.java
@@ -26,8 +26,6 @@ import org.apache.pinot.spi.config.table.TableConfig;
 import org.apache.pinot.spi.config.table.TableType;
 import org.apache.pinot.spi.config.table.assignment.SegmentAssignmentConfig;
 import org.apache.pinot.spi.utils.CommonConstants.Segment.AssignmentStrategy;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 
 /**
@@ -35,8 +33,6 @@ import org.slf4j.LoggerFactory;
  */
 public class SegmentAssignmentStrategyFactory {
 
-  private static final Logger LOGGER = 
LoggerFactory.getLogger(SegmentAssignmentStrategyFactory.class);
-
   private SegmentAssignmentStrategyFactory() {
   }
 
@@ -64,9 +60,9 @@ public class SegmentAssignmentStrategyFactory {
       // Try to determine segment assignment strategy from table config
       if (segmentAssignmentConfigMap != null) {
         SegmentAssignmentConfig segmentAssignmentConfig;
-        // Use the pre defined segment assignment strategy
+        // Use the pre-defined segment assignment strategy
         segmentAssignmentConfig = 
segmentAssignmentConfigMap.get(assignmentType.toUpperCase());
-        // Segment assignment config is only applicable to offline tables and 
completed segments of real time tables
+        // Segment assignment config is only applicable to offline tables and 
completed segments of realtime tables
         if (segmentAssignmentConfig != null) {
           assignmentStrategy = 
segmentAssignmentConfig.getAssignmentStrategy().toLowerCase();
         }


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

Reply via email to