summaryrefslogtreecommitdiff
path: root/kafka/producer/base.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2015-12-02 14:19:27 -0800
committerDana Powers <dana.powers@gmail.com>2015-12-02 14:19:27 -0800
commitcdcaea6f944df10941522ebcb08946bf34c357db (patch)
treebc642fc826a5c8acc1c988e5ececb4d1bbcd550e /kafka/producer/base.py
parent2eca5538eef948ef3828be5c3cb5c78c1c958f6f (diff)
parent64cda819d9e87634b075725321b729aeede8471a (diff)
downloadkafka-python-cdcaea6f944df10941522ebcb08946bf34c357db.tar.gz
Merge pull request #467 from bschopman/master
Prevents crashing communication thread of async producer
Diffstat (limited to 'kafka/producer/base.py')
-rw-r--r--kafka/producer/base.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/kafka/producer/base.py b/kafka/producer/base.py
index bfbdcf8..8774c66 100644
--- a/kafka/producer/base.py
+++ b/kafka/producer/base.py
@@ -186,7 +186,10 @@ def _send_upstream(queue, client, codec, batch_time, batch_size,
# refresh topic metadata before next retry
if retry_state['do_refresh']:
log.warn('Async producer forcing metadata refresh metadata before retrying')
- client.load_metadata_for_topics()
+ try:
+ client.load_metadata_for_topics()
+ except Exception as e:
+ log.error("Async producer couldn't reload topic metadata. Error: `%s`", e.message)
# Apply retry limit, dropping messages that are over
request_tries = dict(