summaryrefslogtreecommitdiff
path: root/kafka/cluster.py
diff options
context:
space:
mode:
Diffstat (limited to 'kafka/cluster.py')
-rw-r--r--kafka/cluster.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/kafka/cluster.py b/kafka/cluster.py
index d646fdf..1ab4218 100644
--- a/kafka/cluster.py
+++ b/kafka/cluster.py
@@ -291,6 +291,13 @@ class ClusterMetadata(object):
for listener in self._listeners:
listener(self)
+ if self.need_all_topic_metadata:
+ # the listener may change the interested topics,
+ # which could cause another metadata refresh.
+ # If we have already fetched all topics, however,
+ # another fetch should be unnecessary.
+ self._need_update = False
+
def add_listener(self, listener):
"""Add a callback function to be called on each metadata update"""
self._listeners.add(listener)