diff options
author | Zack Dever <zdever@pandora.com> | 2016-03-14 16:03:06 -0700 |
---|---|---|
committer | Zack Dever <zdever@pandora.com> | 2016-03-14 16:03:06 -0700 |
commit | 3bf75c53bff0038c68eadf6664061b7adb18f64b (patch) | |
tree | a16b30e080d3851570ea6ea7df7cfaa3f26b8523 | |
parent | 3d80a798555bb2173e604b685ac57dcf4f51f4d4 (diff) | |
download | kafka-python-3bf75c53bff0038c68eadf6664061b7adb18f64b.tar.gz |
only make a metadata event if we don't know the partitions
-rw-r--r-- | kafka/producer/kafka.py | 5 |
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() |