Skip to content

Commit 741aa2c

Browse files
authored
Rename RequestHeader_vX classes (#1141)
According the java client schema, v0 was a version only used for ControlledShutdownRequest. The first version to have a client id was version 1. https://github.com/apache/kafka/blob/2.8.1/clients/src/main/resources/common/message/RequestHeader.json There could have been a confusion as in KIP-482, the v2 is named "version 1". https://cwiki.apache.org/confluence/display/KAFKA/KIP-482%3A+The+Kafka+Protocol+should+Support+Optional+Tagged+Fields
1 parent 7b7c4ff commit 741aa2c

3 files changed

Lines changed: 9 additions & 7 deletions

File tree

CHANGES.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ Bugfixes:
2525
* Ensure the transaction coordinator is refreshed after broker fail‑over,
2626
so transactional producers resume once a new coordinator is elected.
2727
(pr #1135 by @vmaurin)
28+
* Rename the RequestHeader version classes to match official version
29+
schemas (pr #1141 by @vmaurin)
2830

2931

3032
Misc:

aiokafka/protocol/api.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from .types import Array, Int16, Int32, Schema, String, TaggedFields
1212

1313

14-
class RequestHeader_v0(Struct):
14+
class RequestHeader_v1(Struct):
1515
SCHEMA = Schema(
1616
("api_key", Int16),
1717
("api_version", Int16),
@@ -30,7 +30,7 @@ def __init__(
3030
)
3131

3232

33-
class RequestHeader_v1(Struct):
33+
class RequestHeader_v2(Struct):
3434
# Flexible response / request headers end in field buffer
3535
SCHEMA = Schema(
3636
("api_key", Int16),
@@ -185,12 +185,12 @@ def to_object(self) -> dict[str, Any]:
185185

186186
def build_request_header(
187187
self, correlation_id: int, client_id: str
188-
) -> RequestHeader_v0 | RequestHeader_v1:
188+
) -> RequestHeader_v1 | RequestHeader_v2:
189189
if self.FLEXIBLE_VERSION:
190-
return RequestHeader_v1(
190+
return RequestHeader_v2(
191191
self, correlation_id=correlation_id, client_id=client_id
192192
)
193-
return RequestHeader_v0(
193+
return RequestHeader_v1(
194194
self, correlation_id=correlation_id, client_id=client_id
195195
)
196196

tests/test_protocol.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import pytest
55

6-
from aiokafka.protocol.api import RequestHeader_v0, RequestStruct, Response
6+
from aiokafka.protocol.api import RequestHeader_v1, RequestStruct, Response
77
from aiokafka.protocol.coordination import FindCoordinatorRequest_v0
88
from aiokafka.protocol.fetch import FetchRequest_v0, FetchResponse_v0
99
from aiokafka.protocol.message import Message, MessageSet, PartialMessage
@@ -192,7 +192,7 @@ def test_encode_message_header() -> None:
192192
)
193193

194194
req = FindCoordinatorRequest_v0("foo")
195-
header = RequestHeader_v0(req, correlation_id=4, client_id="client3")
195+
header = RequestHeader_v1(req, correlation_id=4, client_id="client3")
196196
assert header.encode() == expect
197197

198198

0 commit comments

Comments
 (0)