jiajunwang commented on a change in pull request #362: The WAGED rebalancer cluster model implementation URL: https://github.com/apache/helix/pull/362#discussion_r309907706
########## File path: helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/AssignableReplica.java ########## @@ -19,9 +19,119 @@ * under the License. */ +import org.apache.helix.model.ResourceConfig; +import org.apache.helix.model.StateModelDefinition; + +import java.io.IOException; +import java.util.Map; + /** - * A placeholder before we have the implementation. - * * This class represents a partition replication that needs to be allocated. */ -public class AssignableReplica { } +public class AssignableReplica implements Comparable<AssignableReplica> { + private final String _partitionName; + private final String _resourceName; + private final String _resourceInstanceGroupTag; + private final int _resourceMaxPartitionsPerInstance; + private final Map<String, Integer> _capacityUsage; + // The priority of the replica's state + private final int _statePriority; + // The state of the replica + private final String _replicaState; + Review comment: If 2 replicas have the same state, and the same partition, they will be the same from any perspective. And if you think about it, they are identical replicas. This shall be OK since as long as we have the right number of objects, the assignment result will be good. Even the algorithm shift 2 identical replica objects' allocation, the final mapping will still be the same. So, till now, I don't see the necessity of adding a priority other than the state priority. ---------------------------------------------------------------- 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