Protocol updates for 0.11.0.0 (#1127)
This commit is contained in:
parent
2f75169504
commit
d0c6b1f95c
|
@ -16,6 +16,19 @@ class ApiVersionResponse_v0(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ApiVersionResponse_v1(Response):
|
||||||
|
API_KEY = 18
|
||||||
|
API_VERSION = 1
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('error_code', Int16),
|
||||||
|
('api_versions', Array(
|
||||||
|
('api_key', Int16),
|
||||||
|
('min_version', Int16),
|
||||||
|
('max_version', Int16))),
|
||||||
|
('throttle_time_ms', Int32)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ApiVersionRequest_v0(Request):
|
class ApiVersionRequest_v0(Request):
|
||||||
API_KEY = 18
|
API_KEY = 18
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -23,8 +36,15 @@ class ApiVersionRequest_v0(Request):
|
||||||
SCHEMA = Schema()
|
SCHEMA = Schema()
|
||||||
|
|
||||||
|
|
||||||
ApiVersionRequest = [ApiVersionRequest_v0]
|
class ApiVersionRequest_v1(Request):
|
||||||
ApiVersionResponse = [ApiVersionResponse_v0]
|
API_KEY = 18
|
||||||
|
API_VERSION = 1
|
||||||
|
RESPONSE_TYPE = ApiVersionResponse_v1
|
||||||
|
SCHEMA = ApiVersionRequest_v0.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
ApiVersionRequest = [ApiVersionRequest_v0, ApiVersionRequest_v1]
|
||||||
|
ApiVersionResponse = [ApiVersionResponse_v0, ApiVersionResponse_v1]
|
||||||
|
|
||||||
|
|
||||||
class CreateTopicsResponse_v0(Response):
|
class CreateTopicsResponse_v0(Response):
|
||||||
|
@ -48,6 +68,18 @@ class CreateTopicsResponse_v1(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CreateTopicsResponse_v2(Response):
|
||||||
|
API_KEY = 19
|
||||||
|
API_VERSION = 2
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('topic_error_codes', Array(
|
||||||
|
('topic', String('utf-8')),
|
||||||
|
('error_code', Int16),
|
||||||
|
('error_message', String('utf-8'))))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class CreateTopicsRequest_v0(Request):
|
class CreateTopicsRequest_v0(Request):
|
||||||
API_KEY = 19
|
API_KEY = 19
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -87,8 +119,19 @@ class CreateTopicsRequest_v1(Request):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
CreateTopicsRequest = [CreateTopicsRequest_v0, CreateTopicsRequest_v1]
|
class CreateTopicsRequest_v2(Request):
|
||||||
CreateTopicsResponse = [CreateTopicsResponse_v0, CreateTopicsRequest_v1]
|
API_KEY = 19
|
||||||
|
API_VERSION = 2
|
||||||
|
RESPONSE_TYPE = CreateTopicsResponse_v2
|
||||||
|
SCHEMA = CreateTopicsRequest_v1.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
CreateTopicsRequest = [
|
||||||
|
CreateTopicsRequest_v0, CreateTopicsRequest_v1, CreateTopicsRequest_v2
|
||||||
|
]
|
||||||
|
CreateTopicsResponse = [
|
||||||
|
CreateTopicsResponse_v0, CreateTopicsResponse_v1, CreateTopicsResponse_v2
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class DeleteTopicsResponse_v0(Response):
|
class DeleteTopicsResponse_v0(Response):
|
||||||
|
@ -101,6 +144,17 @@ class DeleteTopicsResponse_v0(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DeleteTopicsResponse_v1(Response):
|
||||||
|
API_KEY = 20
|
||||||
|
API_VERSION = 1
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('topic_error_codes', Array(
|
||||||
|
('topic', String('utf-8')),
|
||||||
|
('error_code', Int16)))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class DeleteTopicsRequest_v0(Request):
|
class DeleteTopicsRequest_v0(Request):
|
||||||
API_KEY = 20
|
API_KEY = 20
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -111,8 +165,15 @@ class DeleteTopicsRequest_v0(Request):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
DeleteTopicsRequest = [DeleteTopicsRequest_v0]
|
class DeleteTopicsRequest_v1(Request):
|
||||||
DeleteTopicsResponse = [DeleteTopicsResponse_v0]
|
API_KEY = 20
|
||||||
|
API_VERSION = 1
|
||||||
|
RESPONSE_TYPE = DeleteTopicsResponse_v1
|
||||||
|
SCHEMA = DeleteTopicsRequest_v0.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
DeleteTopicsRequest = [DeleteTopicsRequest_v0, DeleteTopicsRequest_v1]
|
||||||
|
DeleteTopicsResponse = [DeleteTopicsResponse_v0, DeleteTopicsResponse_v1]
|
||||||
|
|
||||||
|
|
||||||
class ListGroupsResponse_v0(Response):
|
class ListGroupsResponse_v0(Response):
|
||||||
|
@ -126,6 +187,18 @@ class ListGroupsResponse_v0(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ListGroupsResponse_v1(Response):
|
||||||
|
API_KEY = 16
|
||||||
|
API_VERSION = 1
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('error_code', Int16),
|
||||||
|
('groups', Array(
|
||||||
|
('group', String('utf-8')),
|
||||||
|
('protocol_type', String('utf-8'))))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ListGroupsRequest_v0(Request):
|
class ListGroupsRequest_v0(Request):
|
||||||
API_KEY = 16
|
API_KEY = 16
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -133,8 +206,15 @@ class ListGroupsRequest_v0(Request):
|
||||||
SCHEMA = Schema()
|
SCHEMA = Schema()
|
||||||
|
|
||||||
|
|
||||||
ListGroupsRequest = [ListGroupsRequest_v0]
|
class ListGroupsRequest_v1(Request):
|
||||||
ListGroupsResponse = [ListGroupsResponse_v0]
|
API_KEY = 16
|
||||||
|
API_VERSION = 1
|
||||||
|
RESPONSE_TYPE = ListGroupsResponse_v1
|
||||||
|
SCHEMA = ListGroupsRequest_v0.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
ListGroupsRequest = [ListGroupsRequest_v0, ListGroupsRequest_v1]
|
||||||
|
ListGroupsResponse = [ListGroupsResponse_v0, ListGroupsResponse_v1]
|
||||||
|
|
||||||
|
|
||||||
class DescribeGroupsResponse_v0(Response):
|
class DescribeGroupsResponse_v0(Response):
|
||||||
|
@ -156,6 +236,27 @@ class DescribeGroupsResponse_v0(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DescribeGroupsResponse_v1(Response):
|
||||||
|
API_KEY = 15
|
||||||
|
API_VERSION = 1
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('groups', Array(
|
||||||
|
('error_code', Int16),
|
||||||
|
('group', String('utf-8')),
|
||||||
|
('state', String('utf-8')),
|
||||||
|
('protocol_type', String('utf-8')),
|
||||||
|
('protocol', String('utf-8')),
|
||||||
|
('members', Array(
|
||||||
|
('member_id', String('utf-8')),
|
||||||
|
('client_id', String('utf-8')),
|
||||||
|
('client_host', String('utf-8')),
|
||||||
|
('member_metadata', Bytes),
|
||||||
|
('member_assignment', Bytes)))))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class DescribeGroupsRequest_v0(Request):
|
class DescribeGroupsRequest_v0(Request):
|
||||||
API_KEY = 15
|
API_KEY = 15
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -165,8 +266,15 @@ class DescribeGroupsRequest_v0(Request):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
DescribeGroupsRequest = [DescribeGroupsRequest_v0]
|
class DescribeGroupsRequest_v1(Request):
|
||||||
DescribeGroupsResponse = [DescribeGroupsResponse_v0]
|
API_KEY = 15
|
||||||
|
API_VERSION = 1
|
||||||
|
RESPONSE_TYPE = DescribeGroupsResponse_v1
|
||||||
|
SCHEMA = DescribeGroupsRequest_v0.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
DescribeGroupsRequest = [DescribeGroupsRequest_v0, DescribeGroupsRequest_v1]
|
||||||
|
DescribeGroupsResponse = [DescribeGroupsResponse_v0, DescribeGroupsResponse_v1]
|
||||||
|
|
||||||
|
|
||||||
class SaslHandShakeResponse_v0(Response):
|
class SaslHandShakeResponse_v0(Response):
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
from .api import Request, Response
|
from .api import Request, Response
|
||||||
from .types import Array, Int16, Int32, Int64, Schema, String
|
from .types import Array, Int8, Int16, Int32, Int64, Schema, String
|
||||||
|
|
||||||
|
|
||||||
class OffsetCommitResponse_v0(Response):
|
class OffsetCommitResponse_v0(Response):
|
||||||
|
@ -28,6 +28,19 @@ class OffsetCommitResponse_v2(Response):
|
||||||
SCHEMA = OffsetCommitResponse_v1.SCHEMA
|
SCHEMA = OffsetCommitResponse_v1.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
class OffsetCommitResponse_v3(Response):
|
||||||
|
API_KEY = 8
|
||||||
|
API_VERSION = 3
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('topics', Array(
|
||||||
|
('topic', String('utf-8')),
|
||||||
|
('partitions', Array(
|
||||||
|
('partition', Int32),
|
||||||
|
('error_code', Int16)))))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class OffsetCommitRequest_v0(Request):
|
class OffsetCommitRequest_v0(Request):
|
||||||
API_KEY = 8
|
API_KEY = 8
|
||||||
API_VERSION = 0 # Zookeeper-backed storage
|
API_VERSION = 0 # Zookeeper-backed storage
|
||||||
|
@ -81,10 +94,21 @@ class OffsetCommitRequest_v2(Request):
|
||||||
DEFAULT_RETENTION_TIME = -1
|
DEFAULT_RETENTION_TIME = -1
|
||||||
|
|
||||||
|
|
||||||
OffsetCommitRequest = [OffsetCommitRequest_v0, OffsetCommitRequest_v1,
|
class OffsetCommitRequest_v3(Request):
|
||||||
OffsetCommitRequest_v2]
|
API_KEY = 8
|
||||||
OffsetCommitResponse = [OffsetCommitResponse_v0, OffsetCommitResponse_v1,
|
API_VERSION = 3
|
||||||
OffsetCommitResponse_v2]
|
RESPONSE_TYPE = OffsetCommitResponse_v3
|
||||||
|
SCHEMA = OffsetCommitRequest_v2.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
OffsetCommitRequest = [
|
||||||
|
OffsetCommitRequest_v0, OffsetCommitRequest_v1,
|
||||||
|
OffsetCommitRequest_v2, OffsetCommitRequest_v3
|
||||||
|
]
|
||||||
|
OffsetCommitResponse = [
|
||||||
|
OffsetCommitResponse_v0, OffsetCommitResponse_v1,
|
||||||
|
OffsetCommitResponse_v2, OffsetCommitResponse_v3
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class OffsetFetchResponse_v0(Response):
|
class OffsetFetchResponse_v0(Response):
|
||||||
|
@ -123,6 +147,22 @@ class OffsetFetchResponse_v2(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class OffsetFetchResponse_v3(Response):
|
||||||
|
API_KEY = 9
|
||||||
|
API_VERSION = 3
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('topics', Array(
|
||||||
|
('topic', String('utf-8')),
|
||||||
|
('partitions', Array(
|
||||||
|
('partition', Int32),
|
||||||
|
('offset', Int64),
|
||||||
|
('metadata', String('utf-8')),
|
||||||
|
('error_code', Int16))))),
|
||||||
|
('error_code', Int16)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class OffsetFetchRequest_v0(Request):
|
class OffsetFetchRequest_v0(Request):
|
||||||
API_KEY = 9
|
API_KEY = 9
|
||||||
API_VERSION = 0 # zookeeper-backed storage
|
API_VERSION = 0 # zookeeper-backed storage
|
||||||
|
@ -152,10 +192,21 @@ class OffsetFetchRequest_v2(Request):
|
||||||
SCHEMA = OffsetFetchRequest_v1.SCHEMA
|
SCHEMA = OffsetFetchRequest_v1.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
OffsetFetchRequest = [OffsetFetchRequest_v0, OffsetFetchRequest_v1,
|
class OffsetFetchRequest_v3(Request):
|
||||||
OffsetFetchRequest_v2]
|
API_KEY = 9
|
||||||
OffsetFetchResponse = [OffsetFetchResponse_v0, OffsetFetchResponse_v1,
|
API_VERSION = 3
|
||||||
OffsetFetchResponse_v2]
|
RESPONSE_TYPE = OffsetFetchResponse_v3
|
||||||
|
SCHEMA = OffsetFetchRequest_v2.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
OffsetFetchRequest = [
|
||||||
|
OffsetFetchRequest_v0, OffsetFetchRequest_v1,
|
||||||
|
OffsetFetchRequest_v2, OffsetFetchRequest_v3,
|
||||||
|
]
|
||||||
|
OffsetFetchResponse = [
|
||||||
|
OffsetFetchResponse_v0, OffsetFetchResponse_v1,
|
||||||
|
OffsetFetchResponse_v2, OffsetFetchResponse_v3,
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class GroupCoordinatorResponse_v0(Response):
|
class GroupCoordinatorResponse_v0(Response):
|
||||||
|
@ -169,6 +220,18 @@ class GroupCoordinatorResponse_v0(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class GroupCoordinatorResponse_v1(Response):
|
||||||
|
API_KEY = 10
|
||||||
|
API_VERSION = 1
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('error_code', Int16),
|
||||||
|
('error_message', String('utf-8')),
|
||||||
|
('coordinator_id', Int32),
|
||||||
|
('host', String('utf-8')),
|
||||||
|
('port', Int32)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class GroupCoordinatorRequest_v0(Request):
|
class GroupCoordinatorRequest_v0(Request):
|
||||||
API_KEY = 10
|
API_KEY = 10
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -178,5 +241,15 @@ class GroupCoordinatorRequest_v0(Request):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
GroupCoordinatorRequest = [GroupCoordinatorRequest_v0]
|
class GroupCoordinatorRequest_v1(Request):
|
||||||
GroupCoordinatorResponse = [GroupCoordinatorResponse_v0]
|
API_KEY = 10
|
||||||
|
API_VERSION = 1
|
||||||
|
RESPONSE_TYPE = GroupCoordinatorResponse_v1
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('coordinator_key', String('utf-8')),
|
||||||
|
('coordinator_type', Int8)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
GroupCoordinatorRequest = [GroupCoordinatorRequest_v0, GroupCoordinatorRequest_v1]
|
||||||
|
GroupCoordinatorResponse = [GroupCoordinatorResponse_v0, GroupCoordinatorResponse_v1]
|
||||||
|
|
|
@ -2,7 +2,7 @@ from __future__ import absolute_import
|
||||||
|
|
||||||
from .api import Request, Response
|
from .api import Request, Response
|
||||||
from .message import MessageSet
|
from .message import MessageSet
|
||||||
from .types import Array, Int16, Int32, Int64, Schema, String
|
from .types import Array, Int8, Int16, Int32, Int64, Schema, String
|
||||||
|
|
||||||
|
|
||||||
class FetchResponse_v0(Response):
|
class FetchResponse_v0(Response):
|
||||||
|
@ -46,6 +46,45 @@ class FetchResponse_v3(Response):
|
||||||
SCHEMA = FetchResponse_v2.SCHEMA
|
SCHEMA = FetchResponse_v2.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
class FetchResponse_v4(Response):
|
||||||
|
API_KEY = 1
|
||||||
|
API_VERSION = 4
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('topics', Array(
|
||||||
|
('topics', String('utf-8')),
|
||||||
|
('partitions', Array(
|
||||||
|
('partition', Int32),
|
||||||
|
('error_code', Int16),
|
||||||
|
('highwater_offset', Int64),
|
||||||
|
('last_stable_offset', Int64),
|
||||||
|
('aborted_transactions', Array(
|
||||||
|
('producer_id', Int64),
|
||||||
|
('first_offset', Int64))),
|
||||||
|
('message_set', MessageSet)))))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class FetchResponse_v5(Response):
|
||||||
|
API_KEY = 1
|
||||||
|
API_VERSION = 5
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('topics', Array(
|
||||||
|
('topics', String('utf-8')),
|
||||||
|
('partitions', Array(
|
||||||
|
('partition', Int32),
|
||||||
|
('error_code', Int16),
|
||||||
|
('highwater_offset', Int64),
|
||||||
|
('last_stable_offset', Int64),
|
||||||
|
('log_start_offset', Int64),
|
||||||
|
('aborted_transactions', Array(
|
||||||
|
('producer_id', Int64),
|
||||||
|
('first_offset', Int64))),
|
||||||
|
('message_set', MessageSet)))))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class FetchRequest_v0(Request):
|
class FetchRequest_v0(Request):
|
||||||
API_KEY = 1
|
API_KEY = 1
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -95,7 +134,52 @@ class FetchRequest_v3(Request):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
FetchRequest = [FetchRequest_v0, FetchRequest_v1, FetchRequest_v2,
|
class FetchRequest_v4(Request):
|
||||||
FetchRequest_v3]
|
# Adds isolation_level field
|
||||||
FetchResponse = [FetchResponse_v0, FetchResponse_v1, FetchResponse_v2,
|
API_KEY = 1
|
||||||
FetchResponse_v3]
|
API_VERSION = 4
|
||||||
|
RESPONSE_TYPE = FetchResponse_v4
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('replica_id', Int32),
|
||||||
|
('max_wait_time', Int32),
|
||||||
|
('min_bytes', Int32),
|
||||||
|
('max_bytes', Int32),
|
||||||
|
('isolation_level', Int8),
|
||||||
|
('topics', Array(
|
||||||
|
('topic', String('utf-8')),
|
||||||
|
('partitions', Array(
|
||||||
|
('partition', Int32),
|
||||||
|
('offset', Int64),
|
||||||
|
('max_bytes', Int32)))))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class FetchRequest_v5(Request):
|
||||||
|
# This may only be used in broker-broker api calls
|
||||||
|
API_KEY = 1
|
||||||
|
API_VERSION = 5
|
||||||
|
RESPONSE_TYPE = FetchResponse_v5
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('replica_id', Int32),
|
||||||
|
('max_wait_time', Int32),
|
||||||
|
('min_bytes', Int32),
|
||||||
|
('max_bytes', Int32),
|
||||||
|
('isolation_level', Int8),
|
||||||
|
('topics', Array(
|
||||||
|
('topic', String('utf-8')),
|
||||||
|
('partitions', Array(
|
||||||
|
('partition', Int32),
|
||||||
|
('fetch_offset', Int64),
|
||||||
|
('log_start_offset', Int64),
|
||||||
|
('max_bytes', Int32)))))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
FetchRequest = [
|
||||||
|
FetchRequest_v0, FetchRequest_v1, FetchRequest_v2,
|
||||||
|
FetchRequest_v3, FetchRequest_v4, FetchRequest_v5
|
||||||
|
]
|
||||||
|
FetchResponse = [
|
||||||
|
FetchResponse_v0, FetchResponse_v1, FetchResponse_v2,
|
||||||
|
FetchResponse_v3, FetchResponse_v4, FetchResponse_v5
|
||||||
|
]
|
||||||
|
|
|
@ -26,6 +26,22 @@ class JoinGroupResponse_v1(Response):
|
||||||
SCHEMA = JoinGroupResponse_v0.SCHEMA
|
SCHEMA = JoinGroupResponse_v0.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
class JoinGroupResponse_v2(Response):
|
||||||
|
API_KEY = 11
|
||||||
|
API_VERSION = 2
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('error_code', Int16),
|
||||||
|
('generation_id', Int32),
|
||||||
|
('group_protocol', String('utf-8')),
|
||||||
|
('leader_id', String('utf-8')),
|
||||||
|
('member_id', String('utf-8')),
|
||||||
|
('members', Array(
|
||||||
|
('member_id', String('utf-8')),
|
||||||
|
('member_metadata', Bytes)))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class JoinGroupRequest_v0(Request):
|
class JoinGroupRequest_v0(Request):
|
||||||
API_KEY = 11
|
API_KEY = 11
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -59,8 +75,20 @@ class JoinGroupRequest_v1(Request):
|
||||||
UNKNOWN_MEMBER_ID = ''
|
UNKNOWN_MEMBER_ID = ''
|
||||||
|
|
||||||
|
|
||||||
JoinGroupRequest = [JoinGroupRequest_v0, JoinGroupRequest_v1]
|
class JoinGroupRequest_v2(Request):
|
||||||
JoinGroupResponse = [JoinGroupResponse_v0, JoinGroupResponse_v1]
|
API_KEY = 11
|
||||||
|
API_VERSION = 2
|
||||||
|
RESPONSE_TYPE = JoinGroupResponse_v2
|
||||||
|
SCHEMA = JoinGroupRequest_v1.SCHEMA
|
||||||
|
UNKNOWN_MEMBER_ID = ''
|
||||||
|
|
||||||
|
|
||||||
|
JoinGroupRequest = [
|
||||||
|
JoinGroupRequest_v0, JoinGroupRequest_v1, JoinGroupRequest_v2
|
||||||
|
]
|
||||||
|
JoinGroupResponse = [
|
||||||
|
JoinGroupResponse_v0, JoinGroupResponse_v1, JoinGroupResponse_v1
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class ProtocolMetadata(Struct):
|
class ProtocolMetadata(Struct):
|
||||||
|
@ -80,6 +108,16 @@ class SyncGroupResponse_v0(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class SyncGroupResponse_v1(Response):
|
||||||
|
API_KEY = 14
|
||||||
|
API_VERSION = 1
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('error_code', Int16),
|
||||||
|
('member_assignment', Bytes)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class SyncGroupRequest_v0(Request):
|
class SyncGroupRequest_v0(Request):
|
||||||
API_KEY = 14
|
API_KEY = 14
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -94,8 +132,15 @@ class SyncGroupRequest_v0(Request):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
SyncGroupRequest = [SyncGroupRequest_v0]
|
class SyncGroupRequest_v1(Request):
|
||||||
SyncGroupResponse = [SyncGroupResponse_v0]
|
API_KEY = 14
|
||||||
|
API_VERSION = 1
|
||||||
|
RESPONSE_TYPE = SyncGroupResponse_v1
|
||||||
|
SCHEMA = SyncGroupRequest_v0.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
SyncGroupRequest = [SyncGroupRequest_v0, SyncGroupRequest_v1]
|
||||||
|
SyncGroupResponse = [SyncGroupResponse_v0, SyncGroupResponse_v1]
|
||||||
|
|
||||||
|
|
||||||
class MemberAssignment(Struct):
|
class MemberAssignment(Struct):
|
||||||
|
@ -116,6 +161,15 @@ class HeartbeatResponse_v0(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class HeartbeatResponse_v1(Response):
|
||||||
|
API_KEY = 12
|
||||||
|
API_VERSION = 1
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('error_code', Int16)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class HeartbeatRequest_v0(Request):
|
class HeartbeatRequest_v0(Request):
|
||||||
API_KEY = 12
|
API_KEY = 12
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -127,8 +181,15 @@ class HeartbeatRequest_v0(Request):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
HeartbeatRequest = [HeartbeatRequest_v0]
|
class HeartbeatRequest_v1(Request):
|
||||||
HeartbeatResponse = [HeartbeatResponse_v0]
|
API_KEY = 12
|
||||||
|
API_VERSION = 1
|
||||||
|
RESPONSE_TYPE = HeartbeatResponse_v1
|
||||||
|
SCHEMA = HeartbeatRequest_v0
|
||||||
|
|
||||||
|
|
||||||
|
HeartbeatRequest = [HeartbeatRequest_v0, HeartbeatRequest_v1]
|
||||||
|
HeartbeatResponse = [HeartbeatResponse_v0, HeartbeatResponse_v1]
|
||||||
|
|
||||||
|
|
||||||
class LeaveGroupResponse_v0(Response):
|
class LeaveGroupResponse_v0(Response):
|
||||||
|
@ -139,6 +200,15 @@ class LeaveGroupResponse_v0(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class LeaveGroupResponse_v1(Response):
|
||||||
|
API_KEY = 13
|
||||||
|
API_VERSION = 1
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('error_code', Int16)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class LeaveGroupRequest_v0(Request):
|
class LeaveGroupRequest_v0(Request):
|
||||||
API_KEY = 13
|
API_KEY = 13
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -149,5 +219,12 @@ class LeaveGroupRequest_v0(Request):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
LeaveGroupRequest = [LeaveGroupRequest_v0]
|
class LeaveGroupRequest_v1(Request):
|
||||||
LeaveGroupResponse = [LeaveGroupResponse_v0]
|
API_KEY = 13
|
||||||
|
API_VERSION = 1
|
||||||
|
RESPONSE_TYPE = LeaveGroupResponse_v1
|
||||||
|
SCHEMA = LeaveGroupRequest_v0.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
|
LeaveGroupRequest = [LeaveGroupRequest_v0, LeaveGroupRequest_v1]
|
||||||
|
LeaveGroupResponse = [LeaveGroupResponse_v0, LeaveGroupResponse_v1]
|
||||||
|
|
|
@ -71,6 +71,37 @@ class MetadataResponse_v2(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class MetadataResponse_v3(Response):
|
||||||
|
API_KEY = 3
|
||||||
|
API_VERSION = 3
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('brokers', Array(
|
||||||
|
('node_id', Int32),
|
||||||
|
('host', String('utf-8')),
|
||||||
|
('port', Int32),
|
||||||
|
('rack', String('utf-8')))),
|
||||||
|
('cluster_id', String('utf-8')),
|
||||||
|
('controller_id', Int32),
|
||||||
|
('topics', Array(
|
||||||
|
('error_code', Int16),
|
||||||
|
('topic', String('utf-8')),
|
||||||
|
('is_internal', Boolean),
|
||||||
|
('partitions', Array(
|
||||||
|
('error_code', Int16),
|
||||||
|
('partition', Int32),
|
||||||
|
('leader', Int32),
|
||||||
|
('replicas', Array(Int32)),
|
||||||
|
('isr', Array(Int32))))))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class MetadataResponse_v4(Response):
|
||||||
|
API_KEY = 3
|
||||||
|
API_VERSION = 4
|
||||||
|
SCHEMA = MetadataResponse_v3.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
class MetadataRequest_v0(Request):
|
class MetadataRequest_v0(Request):
|
||||||
API_KEY = 3
|
API_KEY = 3
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -95,8 +126,36 @@ class MetadataRequest_v2(Request):
|
||||||
API_VERSION = 2
|
API_VERSION = 2
|
||||||
RESPONSE_TYPE = MetadataResponse_v2
|
RESPONSE_TYPE = MetadataResponse_v2
|
||||||
SCHEMA = MetadataRequest_v1.SCHEMA
|
SCHEMA = MetadataRequest_v1.SCHEMA
|
||||||
|
ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics
|
||||||
|
NO_TOPICS = None # Empty array (len 0) for topics returns no topics
|
||||||
|
|
||||||
|
|
||||||
MetadataRequest = [MetadataRequest_v0, MetadataRequest_v1, MetadataRequest_v2]
|
class MetadataRequest_v3(Request):
|
||||||
|
API_KEY = 3
|
||||||
|
API_VERSION = 3
|
||||||
|
RESPONSE_TYPE = MetadataResponse_v3
|
||||||
|
SCHEMA = MetadataRequest_v1.SCHEMA
|
||||||
|
ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics
|
||||||
|
NO_TOPICS = None # Empty array (len 0) for topics returns no topics
|
||||||
|
|
||||||
|
|
||||||
|
class MetadataRequest_v4(Request):
|
||||||
|
API_KEY = 3
|
||||||
|
API_VERSION = 4
|
||||||
|
RESPONSE_TYPE = MetadataResponse_v4
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('topics', Array(String('utf-8'))),
|
||||||
|
('allow_auto_topic_creation', Boolean)
|
||||||
|
)
|
||||||
|
ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics
|
||||||
|
NO_TOPICS = None # Empty array (len 0) for topics returns no topics
|
||||||
|
|
||||||
|
|
||||||
|
MetadataRequest = [
|
||||||
|
MetadataRequest_v0, MetadataRequest_v1, MetadataRequest_v2,
|
||||||
|
MetadataRequest_v3, MetadataRequest_v4
|
||||||
|
]
|
||||||
MetadataResponse = [
|
MetadataResponse = [
|
||||||
MetadataResponse_v0, MetadataResponse_v1, MetadataResponse_v2]
|
MetadataResponse_v0, MetadataResponse_v1, MetadataResponse_v2,
|
||||||
|
MetadataResponse_v3, MetadataResponse_v4
|
||||||
|
]
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
from .api import Request, Response
|
from .api import Request, Response
|
||||||
from .types import Array, Int16, Int32, Int64, Schema, String
|
from .types import Array, Int8, Int16, Int32, Int64, Schema, String
|
||||||
|
|
||||||
|
|
||||||
class OffsetResetStrategy(object):
|
class OffsetResetStrategy(object):
|
||||||
|
@ -36,6 +36,21 @@ class OffsetResponse_v1(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class OffsetResponse_v2(Response):
|
||||||
|
API_KEY = 2
|
||||||
|
API_VERSION = 2
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('throttle_time_ms', Int32),
|
||||||
|
('topics', Array(
|
||||||
|
('topic', String('utf-8')),
|
||||||
|
('partitions', Array(
|
||||||
|
('partition', Int32),
|
||||||
|
('error_code', Int16),
|
||||||
|
('timestamp', Int64),
|
||||||
|
('offset', Int64)))))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class OffsetRequest_v0(Request):
|
class OffsetRequest_v0(Request):
|
||||||
API_KEY = 2
|
API_KEY = 2
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -70,5 +85,23 @@ class OffsetRequest_v1(Request):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
OffsetRequest = [OffsetRequest_v0, OffsetRequest_v1]
|
class OffsetRequest_v2(Request):
|
||||||
OffsetResponse = [OffsetResponse_v0, OffsetResponse_v1]
|
API_KEY = 2
|
||||||
|
API_VERSION = 2
|
||||||
|
RESPONSE_TYPE = OffsetResponse_v2
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('replica_id', Int32),
|
||||||
|
('isolation_level', Int8),
|
||||||
|
('topics', Array(
|
||||||
|
('topic', String('utf-8')),
|
||||||
|
('partitions', Array(
|
||||||
|
('partition', Int32),
|
||||||
|
('timestamp', Int64)))))
|
||||||
|
)
|
||||||
|
DEFAULTS = {
|
||||||
|
'replica_id': -1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
OffsetRequest = [OffsetRequest_v0, OffsetRequest_v1, OffsetRequest_v2]
|
||||||
|
OffsetResponse = [OffsetResponse_v0, OffsetResponse_v1, OffsetResponse_v2]
|
||||||
|
|
|
@ -47,6 +47,12 @@ class ProduceResponse_v2(Response):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ProduceResponse_v3(Response):
|
||||||
|
API_KEY = 0
|
||||||
|
API_VERSION = 3
|
||||||
|
SCHEMA = ProduceResponse_v2.SCHEMA
|
||||||
|
|
||||||
|
|
||||||
class ProduceRequest_v0(Request):
|
class ProduceRequest_v0(Request):
|
||||||
API_KEY = 0
|
API_KEY = 0
|
||||||
API_VERSION = 0
|
API_VERSION = 0
|
||||||
|
@ -91,5 +97,32 @@ class ProduceRequest_v2(Request):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
ProduceRequest = [ProduceRequest_v0, ProduceRequest_v1, ProduceRequest_v2]
|
class ProduceRequest_v3(Request):
|
||||||
ProduceResponse = [ProduceResponse_v0, ProduceResponse_v1, ProduceResponse_v2]
|
API_KEY = 0
|
||||||
|
API_VERSION = 3
|
||||||
|
RESPONSE_TYPE = ProduceResponse_v3
|
||||||
|
SCHEMA = Schema(
|
||||||
|
('transactional_id', String('utf-8')),
|
||||||
|
('required_acks', Int16),
|
||||||
|
('timeout', Int32),
|
||||||
|
('topics', Array(
|
||||||
|
('topic', String('utf-8')),
|
||||||
|
('partitions', Array(
|
||||||
|
('partition', Int32),
|
||||||
|
('messages', MessageSet)))))
|
||||||
|
)
|
||||||
|
|
||||||
|
def expect_response(self):
|
||||||
|
if self.required_acks == 0: # pylint: disable=no-member
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
ProduceRequest = [
|
||||||
|
ProduceRequest_v0, ProduceRequest_v1, ProduceRequest_v2,
|
||||||
|
ProduceRequest_v3
|
||||||
|
]
|
||||||
|
ProduceResponse = [
|
||||||
|
ProduceResponse_v0, ProduceResponse_v1, ProduceResponse_v2,
|
||||||
|
ProduceResponse_v2
|
||||||
|
]
|
||||||
|
|
Loading…
Reference in New Issue