Skip to content

Commit fd204dc

Browse files
committed
Merge pull request #340 from dpkp/deprecate_metadata_broker_list
Deprecate metadata_broker_list in favor of bootstrap_servers
2 parents f35995a + 3b1ccc6 commit fd204dc

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

kafka/consumer/kafka.py

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
DEFAULT_CONSUMER_CONFIG = {
2626
'client_id': __name__,
2727
'group_id': None,
28-
'metadata_broker_list': None,
28+
'bootstrap_servers': [],
2929
'socket_timeout_ms': 30 * 1000,
3030
'fetch_message_max_bytes': 1024 * 1024,
3131
'auto_offset_reset': 'largest',
@@ -47,6 +47,9 @@
4747
'rebalance_backoff_ms': 2000,
4848
}
4949

50+
DEPRECATED_CONFIG_KEYS = {
51+
'metadata_broker_list': 'bootstrap_servers',
52+
}
5053

5154
class KafkaConsumer(object):
5255
"""
@@ -56,7 +59,7 @@ class KafkaConsumer(object):
5659
5760
# A very basic 'tail' consumer, with no stored offset management
5861
kafka = KafkaConsumer('topic1',
59-
metadata_broker_list=['localhost:9092'])
62+
bootstrap_servers=['localhost:9092'])
6063
for m in kafka:
6164
print m
6265
@@ -75,7 +78,7 @@ class KafkaConsumer(object):
7578
# more advanced consumer -- multiple topics w/ auto commit offset
7679
# management
7780
kafka = KafkaConsumer('topic1', 'topic2',
78-
metadata_broker_list=['localhost:9092'],
81+
bootstrap_servers=['localhost:9092'],
7982
group_id='my_consumer_group',
8083
auto_commit_enable=True,
8184
auto_commit_interval_ms=30 * 1000,
@@ -120,7 +123,7 @@ class KafkaConsumer(object):
120123
fetch_min_bytes=1,
121124
fetch_wait_max_ms=100,
122125
refresh_leader_backoff_ms=200,
123-
metadata_broker_list=None,
126+
bootstrap_servers=[],
124127
socket_timeout_ms=30*1000,
125128
auto_offset_reset='largest',
126129
deserializer_class=lambda msg: msg,
@@ -149,7 +152,7 @@ def configure(self, **configs):
149152
fetch_min_bytes=1,
150153
fetch_wait_max_ms=100,
151154
refresh_leader_backoff_ms=200,
152-
metadata_broker_list=None,
155+
bootstrap_servers=[],
153156
socket_timeout_ms=30*1000,
154157
auto_offset_reset='largest',
155158
deserializer_class=lambda msg: msg,
@@ -161,6 +164,7 @@ def configure(self, **configs):
161164
Configuration parameters are described in more detail at
162165
http://kafka.apache.org/documentation.html#highlevelconsumerapi
163166
"""
167+
configs = self._deprecate_configs(**configs)
164168
self._config = {}
165169
for key in DEFAULT_CONSUMER_CONFIG:
166170
self._config[key] = configs.pop(key, DEFAULT_CONSUMER_CONFIG[key])
@@ -178,11 +182,11 @@ def configure(self, **configs):
178182
logger.info("Configuring consumer to auto-commit offsets")
179183
self._reset_auto_commit()
180184

181-
if self._config['metadata_broker_list'] is None:
182-
raise KafkaConfigurationError('metadata_broker_list required to '
185+
if not self._config['bootstrap_servers']:
186+
raise KafkaConfigurationError('bootstrap_servers required to '
183187
'configure KafkaConsumer')
184188

185-
self._client = KafkaClient(self._config['metadata_broker_list'],
189+
self._client = KafkaClient(self._config['bootstrap_servers'],
186190
client_id=self._config['client_id'],
187191
timeout=(self._config['socket_timeout_ms'] / 1000.0))
188192

@@ -751,3 +755,17 @@ def __repr__(self):
751755
return '<KafkaConsumer topics=(%s)>' % ', '.join(["%s-%d" % topic_partition
752756
for topic_partition in
753757
self._topics])
758+
759+
#
760+
# other private methods
761+
#
762+
763+
def _deprecate_configs(self, **configs):
764+
for old, new in six.iteritems(DEPRECATED_CONFIG_KEYS):
765+
if old in configs:
766+
logger.warning('Deprecated Kafka Consumer configuration: %s. '
767+
'Please use %s instead.', old, new)
768+
old_value = configs.pop(old)
769+
if new not in configs:
770+
configs[new] = old_value
771+
return configs

0 commit comments

Comments
 (0)