THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- Read Group
Request Validation
INVALID_REQUEST is returned should the request not obey to the following invariants:
- GroupId must be non-empty.
- MemberId must be non-zero.
- MemberEpoch must be >= 0.
Request Handling
Response Schema
...
Code Block | ||||
---|---|---|---|---|
|
Required ACL
Request Validation
Request Handling
Response Schema
...
language | js |
---|---|
linenumbers | true |
{
"apiKey": TBD,
"type": "request",
"listeners": ["zkBroker", "broker"],
"name": "ConsumerGroupInstallAssignmentRequest",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "GroupId", "type": "string", "versions": "0+", "entityType": "groupId",
"about": "The group identifier." },
{ "name": "MemberId", "type": "uuid", "versions": "0+",
"about": "The member id assigned by the group coordinator." },
{ "name": "MemberEpoch", "type": "int32", "versions": "0+",
"about": "The member epoch." },
{ "name": "GroupEpoch", "type": "int32", "versions": "0+",
"about": "The group epoch." },
{ "name": "AssignmentDelaySeconds", "type": "int32", "versions": "0+",
"about": "A delay in secs indicating when the next rebalance must be run by the coordinator." },
{ "name": "Members", "type": "[]Member", "versions": "0+",
"about": "The members.", "fields": [
{ "name": "MemberId", "type": "uuid", "versions": "0+",
"about": "The member ID." },
{ "name": "Partitions", "type": "[]TopicPartition", "versions": "0+",
"about": "The assigned topic-partitions to the member.",
"fields": [
{ "name": "TopicId", "type": "uuid", "versions": "0+",
"about": "The topic ID." },
{ "name": "Partitions", "type": "[]int32", "versions": "0+",
"about": "The partitions." }
]},
{ "name": "MetadataVersion", "type": "int32", "versions": "0+",
"about": "The metadata version." }
{ "name": "MetadataBytes", "type": "bytes", "versions": "0+",
"about": "The metadata bytes." }
]}
]
} |
Required ACL
Request Validation
Request Handling
Response Schema
Code Block | ||||
---|---|---|---|---|
| ||||
{
"apiKey": TBD,
"type": "response",
"name": "ConsumerGroupInstallAssignmentResponse",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
"about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
"about": "The top-level error code, or 0 if there was no error" },
{ "name": "ErrorMessage", "type": "string", "versions": "0+",
"nullableVersions": "0+", "default": "null",
"about": "The top-level error message, or null if there was no error." }
]
} |
Response Handling
Possible errors:
- GROUP_AUTHORIZATION_FAILED - The group operation is not authorized.
- NOT_COORDINATOR - The coordinator which has received the request is not the correct coordinator.
- COORDINATOR_NOT_AVAILABLE - The coordinator is not available.
- COORDINATOR_LOAD_IN_PROGRESS - The coordinator is loading its state.
- INVALID_REQUEST - The request is invalid.
- INVALID_GROUP_ID - The group ID is invalid.
- GROUP_ID_NOT_FOUND - The group ID does not exist.
- UNKNOWN_MEMBER_ID - The member ID is not known by the coordinator. The member must abandon the process.
- FENCED_MEMBER_EPOCH - The member epoch does not correspond to the member epoch expected by the coordinator. The member must abandon the process.
- FENCED_GROUP_EPOCH - The group epoch has changed since the member started computing the reassignment. The member must restart the process.
- INVALID_ASSIGNMENT - The assignment computed by the member is invalid. The member must abandon the process.
ConsumerGroupDescribe API
Request Schema
Code Block | ||||
---|---|---|---|---|
| ||||
{
"apiKey": TBD,
"type": "request",
"listeners": ["zkBroker", "broker"],
"name": "ConsumerGroupDescribe",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "Groups", "type": "[]string", "versions": "0+", "entityType": "groupId",
"about": "The names of the groups to describe" },
{ "name": "IncludeAuthorizedOperations", "type": "bool", "versions": "0+",
"about": "Whether to include authorized operations." }
]
}
|
Required ACL
Request Validation
Request Handling
Response Schema
Code Block | ||||
---|---|---|---|---|
| ||||
{
"apiKey": 71,
"type": "response",
"name": "ConsumerGroupDescribeResponse",
"validVersions": "0",
"flexibleVersions": "0+",
"fields": [
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
"about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
{ "name": "Groups", "type": "[]DescribedGroup", "versions": "0+",
"about": "Each described group.",
"fields": [
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
"about": "The describe error, or 0 if there was no error." },
{ "name": "GroupId", "type": "string", "versions": "0+", "entityType": "groupId",
"about": "The group ID string." },
{ "name": "GroupState", "type": "string", "versions": "0+",
"about": "The group state string, or the empty string." },
{ "name": "GroupEpoch", "type": "int32", "versions": "0+",
"about": "The group epoch." },
{ "name": "AssignmentEpoch", "type": "int32", "versions": "0+",
"about": "The assignment epoch." },
{ "name": "AssignorName", "type": "string", "versions": "0+",
"about": "The selected assignor." },
{ "name": "Members", "type": "[]Member", "versions": "0+",
"about": "The members.",
"fields": [
{ "name": "MemberId", "type": "uuid", "versions": "0+",
"about": "The member ID." },
{ "name": "InstanceId", "type": "string", "versions": "0+",
"about": "The member instance ID." },
{ "name": "MemberEpoch", "type": "int32", "versions": "0+",
"about": "The current member epoch." },
{ "name": "ClientId", "type": "string", "versions": "0+",
"about": "The client ID." },
{ "name": "ClientHost", "type": "string", "versions": "0+",
"about": "The client host." },
{ "name": "Subscriptions", "type": "[]uuid", "versions": "0+",
"about": "The subscribed topic IDs." },
{ "name": "Assignment", "type": "Assignment", "versions": "0+",
"about": "The current assignment.",
"fields": [
{ "name": "AssignmentPartitions", "type": "[]TopicPartition", "versions": "0+",
"about": "The assigned topic-partitions to the member.",
"fields": [
{ "name": "TopicId", "type": "uuid", "versions": "0+",
"about": "The topic ID." },
{ "name": "Partitions", "type": "[]int32", "versions": "0+",
"about": "The partitions." }
]},
{ "name": "AssignmentMetadataVersion", "type": "int32", "versions": "0+",
"about": "The assignor metadata version." }
{ "name": "AssignmentMetadataBytes", "type": "bytes", "versions": "0+",
"about": "The assignor metadata bytes." }
]},
{ "name": "TargetAssignment", "type": "Assignment", "versions": "0+",
"about": "The target assignment.",
"fields": [
{ "name": "AssignmentPartitions", "type": "[]TopicPartition", "versions": "0+",
"about": "The assigned topic-partitions to the member.",
"fields": [
{ "name": "TopicId", "type": "uuid", "versions": "0+",
"about": "The topic ID." }
{ "name": "Partitions", "type": "[]int32", "versions": "0+",
"about": "The partitions." }
]},
{ "name": "AssignmentMetadataVersion", "type": "int32", "versions": "0+",
"about": "The assignor metadata version." }
{ "name": "AssignmentMetadataBytes", "type": "bytes", "versions": "0+",
"about": "The assignor metadata bytes." }
]}
]},
{ "name": "AuthorizedOperations", "type": "int32", "versions": "3+", "default": "-2147483648",
"about": "32-bit bitfield to represent authorized operations for this group." }
]}
]
}
|
Response Handling
Possible errors:
- GROUP_AUTHORIZATION_FAILED - The group operation is not authorized.
- NOT_COORDINATOR - The coordinator which has received the request is not the correct coordinator.
- COORDINATOR_NOT_AVAILABLE - The coordinator is not available.
- COORDINATOR_LOAD_IN_PROGRESS - The coordinator is loading its state.
- INVALID_REQUEST - The request is invalid.
- INVALID_GROUP_ID - The group ID is invalid.
- GROUP_ID_NOT_FOUND - The group ID does not exist.
Response Handling
ConsumerGroupDescribe API
Request Schema
...
language | js |
---|---|
linenumbers | true |
Required ACL
Request Validation
Request Handling
Response Schema
...
language | js |
---|---|
linenumbers | true |
...
ListGroups API
The existing ListGroups API will be extended to support the notion of group types and to support the new group states.
...