...
Code Block | ||
---|---|---|
| ||
/** * Change the reassignments for one or more partitions. * Providing an empty Optional (e.g via {@link Optional#empty()}) will <bold>cancel</bold> the reassignment for the associated partition. * * @param reassignments The reassignments to add, modify, or remove. * @param options The options to use. * @return The result. */ public AlterPartitionReassignmentsResult alterPartitionReassignments( Map<TopicPartition, Optional<NewPartitionReassignment>> reassignments, AlterPartitionReassignmentsOptions options); /** * A new partition reassignment, which can be applied via {@link AdminClient#alterPartitionReassignments(Map)}. */ public class NewPartitionReassignment { private final List<Integer> targetReplicas; public static Optional<NewPartitionReassignment> of/** * @throws IllegalArgumentException if no replicas are supplied */ public NewPartitionReassignment(List<Integer> replicastargetReplicas) {} public List<Integer> targetReplicas() } class AlterPartitionAssignmentsResult { Map<TopicPartition, KafkaFuture<Void>> values() Future<Void> all(); // Throws an exception if any reassignment was rejected } class AlterPartitionAssignmentsOptions extends AbstractOptions<> { // contains timeoutMs } /** * List some of the current partition reassignments. * * @param partitions The partitions to show reassignments for. Must be non-null. * @param options The options to use. */ public ListPartitionReassignmentsResult listPartitionReassignments( Set<TopicPartition> partitions, ListPartitionReassignmentsOptions options); /** * List all of the current partition reassignments. * * @param options The options to use. */ public ListPartitionReassignmentsResult listPartitionReassignments( ListPartitionReassignmentsOptions options); abstract ListPartitionReassignmentsResult listPartitionReassignments(Optional<Set<TopicPartition>> partitions, ListPartitionReassignmentsOptions options) class ListPartitionReassignmentsOptions extends AbstractOptions<> { // contains timeoutMs } class ListPartitionReassignmentsResult { private final KafkaFuture<Map<TopicPartition, PartitionReassignment>> reassignments; } /** * A partition reassignment, which has been listed via {@link AdminClient#listPartitionReassignments()}. */ public class PartitionReassignment { /** * The brokers which this partition currently resides on. */ private final List<Integer> replicas; /** * The brokers that we are adding this partition to as part of a reassignment. */ private final List<Integer> addingReplicas; /** * The brokers that we are removing this partition from as part of a reassignment. */ private final List<Integer> removingReplicas; } |
...