summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Dever <zdever@pandora.com>2016-03-14 16:03:06 -0700
committerZack Dever <zdever@pandora.com>2016-03-14 16:03:06 -0700
commit3bf75c53bff0038c68eadf6664061b7adb18f64b (patch)
treea16b30e080d3851570ea6ea7df7cfaa3f26b8523
parent3d80a798555bb2173e604b685ac57dcf4f51f4d4 (diff)
downloadkafka-python-3bf75c53bff0038c68eadf6664061b7adb18f64b.tar.gz
only make a metadata event if we don't know the partitions
-rw-r--r--kafka/producer/kafka.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/kafka/producer/kafka.py b/kafka/producer/kafka.py
index 0286f8b..2a16fd8 100644
--- a/kafka/producer/kafka.py
+++ b/kafka/producer/kafka.py
@@ -443,12 +443,15 @@ class KafkaProducer(object):
self._sender.add_topic(topic)
begin = time.time()
elapsed = 0.0
- metadata_event = threading.Event()
+ metadata_event = None
while True:
partitions = self._metadata.partitions_for_topic(topic)
if partitions is not None:
return partitions
+ if not metadata_event:
+ metadata_event = threading.Event()
+
log.debug("Requesting metadata update for topic %s", topic)
metadata_event.clear()