Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 30 additions & 2 deletions kafka/protocol/commit.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,22 @@ class OffsetFetchResponse_v1(Struct):
SCHEMA = OffsetFetchResponse_v0.SCHEMA


class OffsetFetchResponse_v2(Struct):
# Added in KIP-88
API_KEY = 9
API_VERSION = 2
SCHEMA = Schema(
('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(Struct):
API_KEY = 9
API_VERSION = 0 # zookeeper-backed storage
Expand All @@ -126,8 +142,20 @@ class OffsetFetchRequest_v1(Struct):
SCHEMA = OffsetFetchRequest_v0.SCHEMA


OffsetFetchRequest = [OffsetFetchRequest_v0, OffsetFetchRequest_v1]
OffsetFetchResponse = [OffsetFetchResponse_v0, OffsetFetchResponse_v1]
class OffsetFetchRequest_v2(Struct):
# KIP-88: Allows passing null topics to return offsets for all partitions
# that the consumer group has a stored offset for, even if no consumer in
# the group is currently consuming that partition.
API_KEY = 9
API_VERSION = 2
RESPONSE_TYPE = OffsetFetchResponse_v2
SCHEMA = OffsetFetchRequest_v1.SCHEMA


OffsetFetchRequest = [OffsetFetchRequest_v0, OffsetFetchRequest_v1,
OffsetFetchRequest_v2]
OffsetFetchResponse = [OffsetFetchResponse_v0, OffsetFetchResponse_v1,
OffsetFetchResponse_v2]


class GroupCoordinatorResponse_v0(Struct):
Expand Down