THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||||
---|---|---|---|---|
| ||||
package org.apache.kafka.server.group.consumer;
public interface PartitionAssignor {
class Group {
/**
* The members.
*/
List<GroupMember> members;
/**
* The topics' metadata.
*/
List<TopicMetadata> topics;
}
class GroupMember {
/**
* The member ID.
*/
String memberId;
/**
* The instance ID if provided.
*/
Optional<String> instanceId;
/**
* The rack ID if provided.
*/
Optional<String> rackId;
/**
* The set of topic IDs that the member is subscribed to.
*/
List<Uuid> subscribedTopicIds;
/**
* The partitions owned by the member at the current epoch.
*/
List<TopicIdPartition> ownedPartitions;
}
class TopicMetadata {
/**
* The topic ID.
*/
Uuid topicId;
/**
* The number of partitions.
*/
int numPartitions;
}
class Assignment {
/**
* The member assignment.
*/
List<MemberAssignment> members;
}
class MemberAssignment {
/**
* The member ID.
*/
String memberId;
/**
* The assigned partitions.
*/
List<TopicIdPartition> partitions;
}
/**
* Unique name for this assignor.
*/
String name();
/**
* Perform the group assignment given the current members and
* topic metadata.
*
* @param group The group state.
* @return The new assignment for the group.
*/
Assignment assign(Group group);
} |
...
Code Block | ||||
---|---|---|---|---|
| ||||
package org.apache.kafka.clients.consumer; public interface PartitionAssignor { class Group { /** * The members. */ List<GroupMember> members; /** * The topics' metadata. */ List<TopicMetadata> topics; } class GroupMember { /** * The member ID. */ String memberId; /** * The instance ID if provided. */ Optional<String> instanceId; /** * The rack ID if provided. */ Optional<String> rackId; /** * The set of topic IDs that the member is subscribed to. */ List<Uuid> subscribedTopicIds; /** * The reason reported by the member. */ byte reason; /** * The version of the metadata encoded in {{@link GroupMember#metadata()}}. */ int version; /** * The custom metadata provided by the member as defined * by {{@link PartitionAssignor#metadata()}}. */ ByteBuffer metadata; /** * The partitions owned by the member at the current epoch. */ List<TopicIdPartition> ownedPartitions; } class TopicMetadata { /** * The topic ID. */ Uuid topicId; /** * The number of partitions. */ int numPartitions; } class Assignment { /** * The assignment error. */ byte error; /** * The member assignment. */ List<MemberAssignment> members; } class MemberAssignment { /** * The member ID. */ String memberId; /** * The assigned partitions. */ List<TopicIdPartition> partitions; /** * The error reported by the assignor. */ byte error; /** * The version of the metadata encoded in {{@link GroupMember#metadata()}}. */ int version; /** * The custom metadata provided by the assignor. */ ByteBuffer metadata; } class Metadata { /** * The reason reported by the assignor. */ byte reason; /** * The version of the metadata encoded in {{@link Metadata#metadata()}}. */ int version; /** * The custom metadata provided by the assignor. */ ByteBuffer metadata; } /** * Unique name for this assignor. */ String name(); /** * The minimum version. */ int minimumVersion(); /** * The maximum version. */ int maximumVersion(); /** * Return serialized data that will be sent to the assignor. */ Metadata metadata(); /** * Perform the group assignment given the current members and * topic metadata. * * @param group The group state. * @return The new assignment for the group. */ Assignment assign(Group group); /** * Callback which is invoked when the member received a new * assignment from the assignor/group coordinator. */ void onAssignment(MemberAssignment assignment); } |
...