check_partition_swappable(replicas_a, replicas_b, pos)¶
Check if the broker at position pos in the first replica list can be swapped with the replica at position pos in the second list 1. replicas_a[pos] must not be in the replicas_b list 2. replicas_b[pos] must not be in the replicas_a list 3. replicas_a[pos] must have a different rack than the replicas in replicas_b (except for replicas_b[pos]) 4. replicas_b[pos] must have a different rack than the replicas in replicas_a (except for replicas_a[pos])
Params replicas_a: the first replica list Params replicas_b: the second replica list Params pos: the position in the replica list to be replaced Returns: True if the broker can be swapped into this replica list, False otherwise
Return the difference in size between the specified Partition and the last Partition in the provided list. If the list is empty, return infinity.
Params partition: a Partition object to use for calculating the difference Params partitions: a list of Partition objects Returns: The difference in size between partition and the last Partition in the partitions list, or infinity
Returns a set of racks for each of the given replicas in the list Skip the replica at position pos, if specified
Params replicas: a list of Broker objects Params pos: a replica position to skip, or None to not skip a replica Returns: a list of racks