Skip to content

Commit 84aec29

Browse files
committed
Stop using mutable types for default arg values
Using mutable types for default args is typically a no-no unless their surprising behavior is being explicitly abused, for an explanation see: http://effbot.org/zone/default-values.htm Fix dpkp#1212
1 parent 3701690 commit 84aec29

File tree

5 files changed

+13
-13
lines changed

5 files changed

+13
-13
lines changed

kafka/client.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -588,21 +588,21 @@ def load_metadata_for_topics(self, *topics, **kwargs):
588588
leader, None, None, None
589589
)
590590

591-
def send_metadata_request(self, payloads=[], fail_on_error=True,
591+
def send_metadata_request(self, payloads=(), fail_on_error=True,
592592
callback=None):
593593
encoder = KafkaProtocol.encode_metadata_request
594594
decoder = KafkaProtocol.decode_metadata_response
595595

596596
return self._send_broker_unaware_request(payloads, encoder, decoder)
597597

598-
def send_consumer_metadata_request(self, payloads=[], fail_on_error=True,
598+
def send_consumer_metadata_request(self, payloads=(), fail_on_error=True,
599599
callback=None):
600600
encoder = KafkaProtocol.encode_consumer_metadata_request
601601
decoder = KafkaProtocol.decode_consumer_metadata_response
602602

603603
return self._send_broker_unaware_request(payloads, encoder, decoder)
604604

605-
def send_produce_request(self, payloads=[], acks=1, timeout=1000,
605+
def send_produce_request(self, payloads=(), acks=1, timeout=1000,
606606
fail_on_error=True, callback=None):
607607
"""
608608
Encode and send some ProduceRequests
@@ -652,7 +652,7 @@ def send_produce_request(self, payloads=[], acks=1, timeout=1000,
652652
if resp is not None and
653653
(not fail_on_error or not self._raise_on_response_error(resp))]
654654

655-
def send_fetch_request(self, payloads=[], fail_on_error=True,
655+
def send_fetch_request(self, payloads=(), fail_on_error=True,
656656
callback=None, max_wait_time=100, min_bytes=4096):
657657
"""
658658
Encode and send a FetchRequest
@@ -672,7 +672,7 @@ def send_fetch_request(self, payloads=[], fail_on_error=True,
672672
return [resp if not callback else callback(resp) for resp in resps
673673
if not fail_on_error or not self._raise_on_response_error(resp)]
674674

675-
def send_offset_request(self, payloads=[], fail_on_error=True,
675+
def send_offset_request(self, payloads=(), fail_on_error=True,
676676
callback=None):
677677
resps = self._send_broker_aware_request(
678678
payloads,
@@ -682,7 +682,7 @@ def send_offset_request(self, payloads=[], fail_on_error=True,
682682
return [resp if not callback else callback(resp) for resp in resps
683683
if not fail_on_error or not self._raise_on_response_error(resp)]
684684

685-
def send_list_offset_request(self, payloads=[], fail_on_error=True,
685+
def send_list_offset_request(self, payloads=(), fail_on_error=True,
686686
callback=None):
687687
resps = self._send_broker_aware_request(
688688
payloads,
@@ -692,7 +692,7 @@ def send_list_offset_request(self, payloads=[], fail_on_error=True,
692692
return [resp if not callback else callback(resp) for resp in resps
693693
if not fail_on_error or not self._raise_on_response_error(resp)]
694694

695-
def send_offset_commit_request(self, group, payloads=[],
695+
def send_offset_commit_request(self, group, payloads=(),
696696
fail_on_error=True, callback=None):
697697
encoder = functools.partial(KafkaProtocol.encode_offset_commit_request,
698698
group=group)
@@ -702,7 +702,7 @@ def send_offset_commit_request(self, group, payloads=[],
702702
return [resp if not callback else callback(resp) for resp in resps
703703
if not fail_on_error or not self._raise_on_response_error(resp)]
704704

705-
def send_offset_fetch_request(self, group, payloads=[],
705+
def send_offset_fetch_request(self, group, payloads=(),
706706
fail_on_error=True, callback=None):
707707

708708
encoder = functools.partial(KafkaProtocol.encode_offset_fetch_request,
@@ -713,7 +713,7 @@ def send_offset_fetch_request(self, group, payloads=[],
713713
return [resp if not callback else callback(resp) for resp in resps
714714
if not fail_on_error or not self._raise_on_response_error(resp)]
715715

716-
def send_offset_fetch_request_kafka(self, group, payloads=[],
716+
def send_offset_fetch_request_kafka(self, group, payloads=(),
717717
fail_on_error=True, callback=None):
718718

719719
encoder = functools.partial(KafkaProtocol.encode_offset_fetch_request,

test/test_client.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ def test_send_produce_request_raises_when_topic_unknown(self, protocol, conn):
398398
def test_correlation_rollover(self):
399399
with patch.object(SimpleClient, 'load_metadata_for_topics'):
400400
big_num = 2**31 - 3
401-
client = SimpleClient(hosts=[], correlation_id=big_num)
401+
client = SimpleClient(hosts=(), correlation_id=big_num)
402402
self.assertEqual(big_num + 1, client._next_id())
403403
self.assertEqual(big_num + 2, client._next_id())
404404
self.assertEqual(0, client._next_id())

test/test_conn.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ def test_send_max_ifr(conn):
113113
def test_send_no_response(_socket, conn):
114114
conn.connect()
115115
assert conn.state is ConnectionStates.CONNECTED
116-
req = ProduceRequest[0](required_acks=0, timeout=0, topics=[])
116+
req = ProduceRequest[0](required_acks=0, timeout=0, topics=())
117117
header = RequestHeader(req, client_id=conn.config['client_id'])
118118
payload_bytes = len(header.encode()) + len(req.encode())
119119
third = payload_bytes // 3

test/test_fetcher.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
@pytest.fixture
2424
def client(mocker):
25-
return mocker.Mock(spec=KafkaClient(bootstrap_servers=[], api_version=(0, 9)))
25+
return mocker.Mock(spec=KafkaClient(bootstrap_servers=(), api_version=(0, 9)))
2626

2727

2828
@pytest.fixture

test/test_sender.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
@pytest.fixture
2121
def client(mocker):
22-
_cli = mocker.Mock(spec=KafkaClient(bootstrap_servers=[], api_version=(0, 9)))
22+
_cli = mocker.Mock(spec=KafkaClient(bootstrap_servers=(), api_version=(0, 9)))
2323
_cli.cluster = mocker.Mock(spec=ClusterMetadata())
2424
return _cli
2525

0 commit comments

Comments
 (0)