public interface ReassignmentHandler
A ReassignmentHandler is called any time a new partition assignment is received from the server. It will be called with both the previous and new assignments as decided by the backend.
The client library will not acknowledge the assignment until handleReassignment returns. The
assigning backend will not assign any of the partitions in before
to another server unless the
assignment is acknowledged, or a client takes too long to acknowledged (currently 30 seconds from
the time the assignment is sent from server's point of view).
Because of the above, as long as reassignment handling is processed quickly, it can be used to abort outstanding operations on partitions which are being assigned away from this client.
Methods
handleReassignment(Set<Partition> before, Set<Partition> after)
public abstract void handleReassignment(Set<Partition> before, Set<Partition> after)
Called with the previous and new assignment delivered to this client on an assignment change. The assignment will not be acknowledged until this method returns, so it should complete quickly, or the backend will assume it is non-responsive and assign all partitions away without waiting for acknowledgement.
handleReassignment will only be called after no new messages will be delivered for the partition.
Acks or nacks on messages from partitions being assigned away will have no effect.
Parameters | |
---|---|
Name | Description |
before |
Set<Partition> the previous assignment |
after |
Set<Partition> the new assignment |