Skip to content

Commit 30da55a

Browse files
authored
Default UUID -> None (#2748)
1 parent 4b475a3 commit 30da55a

3 files changed

Lines changed: 8 additions & 3 deletions

File tree

kafka/protocol/new/schemas/fields/simple.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def _calculate_default(self, default):
6060
return int(default)
6161
elif self._type is UUID:
6262
if not default:
63-
return UUID.ZERO_UUID
63+
return None
6464
else:
6565
return uuid.UUID(default)
6666
elif self._type is Float64:

kafka/protocol/types.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,18 @@ class UUID(AbstractType):
102102

103103
@classmethod
104104
def encode(cls, value):
105+
if value is None:
106+
value = cls.ZERO_UUID
105107
if isinstance(value, uuid.UUID):
106108
return value.bytes
107109
return uuid.UUID(value).bytes
108110

109111
@classmethod
110112
def decode(cls, data):
111-
return uuid.UUID(bytes=data.read(16))
113+
val = uuid.UUID(bytes=data.read(16))
114+
if val == cls.ZERO_UUID:
115+
return None
116+
return val
112117

113118

114119
class String(AbstractType):

test/protocol/new/admin/test_new_admin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def test_create_topics_response_roundtrip(version):
6060
topics=[
6161
Topic(
6262
name="test-topic",
63-
topic_id=uuid.uuid4() if version >= 7 else uuid.UUID(int=0),
63+
topic_id=uuid.uuid4() if version >= 7 else None,
6464
error_code=13,
6565
error_message='foo' if version >= 1 else '',
6666
topic_config_error_code=2 if version >= 5 else 0,

0 commit comments

Comments
 (0)