Skip to content

Commit 3a38104

Browse files
committed
Suffix more places with _bytes
1 parent 1ceeb52 commit 3a38104

File tree

4 files changed

+77
-77
lines changed

4 files changed

+77
-77
lines changed

kafka/record/default_records.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ def size(self):
512512
"""
513513
return len(self._buffer)
514514

515-
def size_in_bytes(self, offset, timestamp, key, value, headers):
515+
def size_in_bytes(self, offset, timestamp, key_bytes, value_bytes, headers):
516516
if self._first_timestamp is not None:
517517
timestamp_delta = timestamp - self._first_timestamp
518518
else:
@@ -521,24 +521,24 @@ def size_in_bytes(self, offset, timestamp, key, value, headers):
521521
1 + # Attrs
522522
size_of_varint(offset) +
523523
size_of_varint(timestamp_delta) +
524-
self.size_of(key, value, headers)
524+
self.size_of(key_bytes, value_bytes, headers)
525525
)
526526
return size_of_body + size_of_varint(size_of_body)
527527

528528
@classmethod
529-
def size_of(cls, key, value, headers):
529+
def size_of(cls, key_bytes, value_bytes, headers):
530530
size = 0
531531
# Key size
532-
if key is None:
532+
if key_bytes is None:
533533
size += 1
534534
else:
535-
key_len = len(key)
535+
key_len = len(key_bytes)
536536
size += size_of_varint(key_len) + key_len
537537
# Value size
538-
if value is None:
538+
if value_bytes is None:
539539
size += 1
540540
else:
541-
value_len = len(value)
541+
value_len = len(value_bytes)
542542
size += size_of_varint(value_len) + value_len
543543
# Header size
544544
size += size_of_varint(len(headers))
@@ -554,12 +554,12 @@ def size_of(cls, key, value, headers):
554554
return size
555555

556556
@classmethod
557-
def estimate_size_in_bytes(cls, key, value, headers):
557+
def estimate_size_in_bytes(cls, key_bytes, value_bytes, headers):
558558
""" Get the upper bound estimate on the size of record
559559
"""
560560
return (
561561
cls.HEADER_STRUCT.size + cls.MAX_RECORD_OVERHEAD +
562-
cls.size_of(key, value, headers)
562+
cls.size_of(key_bytes, value_bytes, headers)
563563
)
564564

565565

kafka/record/legacy_records.py

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ def __init__(self, magic, compression_type, batch_size):
329329
self._batch_size = batch_size
330330
self._buffer = bytearray()
331331

332-
def append(self, offset, timestamp, key, value, headers=None):
332+
def append(self, offset, timestamp, key_bytes, value_bytes, headers=None):
333333
""" Append message to batch.
334334
"""
335335
assert not headers, "Headers not supported in v0/v1"
@@ -344,18 +344,18 @@ def append(self, offset, timestamp, key, value, headers=None):
344344
raise TypeError(
345345
"`timestamp` should be int, but {} provided".format(
346346
type(timestamp)))
347-
if not (key is None or
348-
isinstance(key, (bytes, bytearray, memoryview))):
347+
if not (key_bytes is None or
348+
isinstance(key_bytes, (bytes, bytearray, memoryview))):
349349
raise TypeError(
350-
"Not supported type for key: {}".format(type(key)))
351-
if not (value is None or
352-
isinstance(value, (bytes, bytearray, memoryview))):
350+
"Not supported type for key: {}".format(type(key_bytes)))
351+
if not (value_bytes is None or
352+
isinstance(value_bytes, (bytes, bytearray, memoryview))):
353353
raise TypeError(
354-
"Not supported type for value: {}".format(type(value)))
354+
"Not supported type for value: {}".format(type(value_bytes)))
355355

356356
# Check if we have room for another message
357357
pos = len(self._buffer)
358-
size = self.size_in_bytes(offset, timestamp, key, value)
358+
size = self.size_in_bytes(offset, timestamp, key_bytes, value_bytes)
359359
# We always allow at least one record to be appended
360360
if offset != 0 and pos + size >= self._batch_size:
361361
return None
@@ -364,11 +364,11 @@ def append(self, offset, timestamp, key, value, headers=None):
364364
self._buffer.extend(bytearray(size))
365365

366366
# Encode message
367-
crc = self._encode_msg(pos, offset, timestamp, key, value)
367+
crc = self._encode_msg(pos, offset, timestamp, key_bytes, value_bytes)
368368

369369
return LegacyRecordMetadata(offset, crc, size, timestamp)
370370

371-
def _encode_msg(self, start_pos, offset, timestamp, key, value,
371+
def _encode_msg(self, start_pos, offset, timestamp, key_bytes, value_bytes,
372372
attributes=0):
373373
""" Encode msg data into the `msg_buffer`, which should be allocated
374374
to at least the size of this message.
@@ -380,24 +380,24 @@ def _encode_msg(self, start_pos, offset, timestamp, key, value,
380380
# Write key and value
381381
pos += self.KEY_OFFSET_V0 if magic == 0 else self.KEY_OFFSET_V1
382382

383-
if key is None:
383+
if key_bytes is None:
384384
struct.pack_into(">i", buf, pos, -1)
385385
pos += self.KEY_LENGTH
386386
else:
387-
key_size = len(key)
387+
key_size = len(key_bytes)
388388
struct.pack_into(">i", buf, pos, key_size)
389389
pos += self.KEY_LENGTH
390-
buf[pos: pos + key_size] = key
390+
buf[pos: pos + key_size] = key_bytes
391391
pos += key_size
392392

393-
if value is None:
393+
if value_bytes is None:
394394
struct.pack_into(">i", buf, pos, -1)
395395
pos += self.VALUE_LENGTH
396396
else:
397-
value_size = len(value)
397+
value_size = len(value_bytes)
398398
struct.pack_into(">i", buf, pos, value_size)
399399
pos += self.VALUE_LENGTH
400-
buf[pos: pos + value_size] = value
400+
buf[pos: pos + value_size] = value_bytes
401401
pos += value_size
402402
length = (pos - start_pos) - self.LOG_OVERHEAD
403403

@@ -430,15 +430,15 @@ def _maybe_compress(self):
430430
else:
431431
compressed = lz4_encode(data)
432432
size = self.size_in_bytes(
433-
0, timestamp=0, key=None, value=compressed)
433+
0, timestamp=0, key_bytes=None, value_bytes=compressed)
434434
# We will try to reuse the same buffer if we have enough space
435435
if size > len(self._buffer):
436436
self._buffer = bytearray(size)
437437
else:
438438
del self._buffer[size:]
439439
self._encode_msg(
440440
start_pos=0,
441-
offset=0, timestamp=0, key=None, value=compressed,
441+
offset=0, timestamp=0, key_bytes=None, value_bytes=compressed,
442442
attributes=self._compression_type)
443443
return True
444444
return False
@@ -455,20 +455,20 @@ def size(self):
455455

456456
# Size calculations. Just copied Java's implementation
457457

458-
def size_in_bytes(self, offset, timestamp, key, value, headers=None):
458+
def size_in_bytes(self, offset, timestamp, key_bytes, value_bytes, headers=None):
459459
""" Actual size of message to add
460460
"""
461461
assert not headers, "Headers not supported in v0/v1"
462462
magic = self._magic
463-
return self.LOG_OVERHEAD + self.record_size(magic, key, value)
463+
return self.LOG_OVERHEAD + self.record_size(magic, key_bytes, value_bytes)
464464

465465
@classmethod
466-
def record_size(cls, magic, key, value):
466+
def record_size(cls, magic, key_bytes, value_bytes):
467467
message_size = cls.record_overhead(magic)
468-
if key is not None:
469-
message_size += len(key)
470-
if value is not None:
471-
message_size += len(value)
468+
if key_bytes is not None:
469+
message_size += len(key_bytes)
470+
if value_bytes is not None:
471+
message_size += len(value_bytes)
472472
return message_size
473473

474474
@classmethod
@@ -480,17 +480,17 @@ def record_overhead(cls, magic):
480480
return cls.RECORD_OVERHEAD_V1
481481

482482
@classmethod
483-
def estimate_size_in_bytes(cls, magic, compression_type, key, value):
483+
def estimate_size_in_bytes(cls, magic, compression_type, key_bytes, value_bytes):
484484
""" Upper bound estimate of record size.
485485
"""
486486
assert magic in [0, 1], "Not supported magic"
487487
# In case of compression we may need another overhead for inner msg
488488
if compression_type:
489489
return (
490490
cls.LOG_OVERHEAD + cls.record_overhead(magic) +
491-
cls.record_size(magic, key, value)
491+
cls.record_size(magic, key_bytes, value_bytes)
492492
)
493-
return cls.LOG_OVERHEAD + cls.record_size(magic, key, value)
493+
return cls.LOG_OVERHEAD + cls.record_size(magic, key_bytes, value_bytes)
494494

495495

496496
class LegacyRecordMetadata(object):

test/record/test_default_records.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def test_read_write_serde_v2(compression_type):
2020
headers = [] # [("header1", b"aaa"), ("header2", b"bbb")]
2121
for offset in range(10):
2222
builder.append(
23-
offset, timestamp=9999999, key=b"test", value=b"Super",
23+
offset, timestamp=9999999, key_bytes=b"test", value_bytes=b"Super",
2424
headers=headers)
2525
buffer = builder.build()
2626
reader = DefaultRecordBatch(bytes(buffer))
@@ -40,20 +40,20 @@ def test_read_write_serde_v2(compression_type):
4040

4141

4242
def test_written_bytes_equals_size_in_bytes_v2():
43-
key = b"test"
44-
value = b"Super"
43+
key_bytes = b"test"
44+
value_bytes = b"Super"
4545
headers = [("header1", b"aaa"), ("header2", b"bbb"), ("xx", None)]
4646
builder = DefaultRecordBatchBuilder(
4747
magic=2, compression_type=0, is_transactional=0,
4848
producer_id=-1, producer_epoch=-1, base_sequence=-1,
4949
batch_size=999999)
5050

5151
size_in_bytes = builder.size_in_bytes(
52-
0, timestamp=9999999, key=key, value=value, headers=headers)
52+
0, timestamp=9999999, key_bytes=key_bytes, value_bytes=value_bytes, headers=headers)
5353

5454
pos = builder.size()
5555
meta = builder.append(
56-
0, timestamp=9999999, key=key, value=value, headers=headers)
56+
0, timestamp=9999999, key_bytes=key_bytes, value_bytes=value_bytes, headers=headers)
5757

5858
assert builder.size() - pos == size_in_bytes
5959
assert meta.size == size_in_bytes
@@ -71,7 +71,7 @@ def test_estimate_size_in_bytes_bigger_than_batch_v2():
7171
producer_id=-1, producer_epoch=-1, base_sequence=-1,
7272
batch_size=999999)
7373
builder.append(
74-
0, timestamp=9999999, key=key, value=value, headers=headers)
74+
0, timestamp=9999999, key_bytes=key, value_bytes=value, headers=headers)
7575
buf = builder.build()
7676
assert len(buf) <= estimate_size, \
7777
"Estimate should always be upper bound"
@@ -86,35 +86,35 @@ def test_default_batch_builder_validates_arguments():
8686
# Key should not be str
8787
with pytest.raises(TypeError):
8888
builder.append(
89-
0, timestamp=9999999, key="some string", value=None, headers=[])
89+
0, timestamp=9999999, key_bytes="some string", value_bytes=None, headers=[])
9090

9191
# Value should not be str
9292
with pytest.raises(TypeError):
9393
builder.append(
94-
0, timestamp=9999999, key=None, value="some string", headers=[])
94+
0, timestamp=9999999, key_bytes=None, value_bytes="some string", headers=[])
9595

9696
# Timestamp should be of proper type
9797
with pytest.raises(TypeError):
9898
builder.append(
99-
0, timestamp="1243812793", key=None, value=b"some string",
99+
0, timestamp="1243812793", key_bytes=None, value_bytes=b"some string",
100100
headers=[])
101101

102102
# Offset of invalid type
103103
with pytest.raises(TypeError):
104104
builder.append(
105-
"0", timestamp=9999999, key=None, value=b"some string", headers=[])
105+
"0", timestamp=9999999, key_bytes=None, value_bytes=b"some string", headers=[])
106106

107107
# Ok to pass value as None
108108
builder.append(
109-
0, timestamp=9999999, key=b"123", value=None, headers=[])
109+
0, timestamp=9999999, key_bytes=b"123", value_bytes=None, headers=[])
110110

111111
# Timestamp can be None
112112
builder.append(
113-
1, timestamp=None, key=None, value=b"some string", headers=[])
113+
1, timestamp=None, key_bytes=None, value_bytes=b"some string", headers=[])
114114

115115
# Ok to pass offsets in not incremental order. This should not happen thou
116116
builder.append(
117-
5, timestamp=9999999, key=b"123", value=None, headers=[])
117+
5, timestamp=9999999, key_bytes=b"123", value_bytes=None, headers=[])
118118

119119
# in case error handling code fails to fix inner buffer in builder
120120
assert len(builder.build()) == 104
@@ -126,7 +126,7 @@ def test_default_correct_metadata_response():
126126
producer_id=-1, producer_epoch=-1, base_sequence=-1,
127127
batch_size=1024 * 1024)
128128
meta = builder.append(
129-
0, timestamp=9999999, key=b"test", value=b"Super", headers=[])
129+
0, timestamp=9999999, key_bytes=b"test", value_bytes=b"Super", headers=[])
130130

131131
assert meta.offset == 0
132132
assert meta.timestamp == 9999999
@@ -146,7 +146,7 @@ def test_default_batch_size_limit():
146146
batch_size=1024)
147147

148148
meta = builder.append(
149-
0, timestamp=None, key=None, value=b"M" * 2000, headers=[])
149+
0, timestamp=None, key_bytes=None, value_bytes=b"M" * 2000, headers=[])
150150
assert meta.size > 0
151151
assert meta.crc is None
152152
assert meta.offset == 0
@@ -158,12 +158,12 @@ def test_default_batch_size_limit():
158158
producer_id=-1, producer_epoch=-1, base_sequence=-1,
159159
batch_size=1024)
160160
meta = builder.append(
161-
0, timestamp=None, key=None, value=b"M" * 700, headers=[])
161+
0, timestamp=None, key_bytes=None, value_bytes=b"M" * 700, headers=[])
162162
assert meta is not None
163163
meta = builder.append(
164-
1, timestamp=None, key=None, value=b"M" * 700, headers=[])
164+
1, timestamp=None, key_bytes=None, value_bytes=b"M" * 700, headers=[])
165165
assert meta is None
166166
meta = builder.append(
167-
2, timestamp=None, key=None, value=b"M" * 700, headers=[])
167+
2, timestamp=None, key_bytes=None, value_bytes=b"M" * 700, headers=[])
168168
assert meta is None
169169
assert len(builder.build()) < 1000

0 commit comments

Comments
 (0)