Skip to content

Commit f92889a

Browse files
TylerLubeckjeffwidman
authored andcommitted
Use the controller for topic metadata requests
Closes #1994
1 parent da01fef commit f92889a

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

kafka/admin/client.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ def delete_topics(self, topics, timeout_ms=None):
473473
return response
474474

475475

476-
def _get_cluster_metadata(self, topics=None, auto_topic_creation=False):
476+
def _get_cluster_metadata(self, topics=None, auto_topic_creation=False, use_controller=False):
477477
"""
478478
topics == None means "get all topics"
479479
"""
@@ -492,10 +492,13 @@ def _get_cluster_metadata(self, topics=None, auto_topic_creation=False):
492492
allow_auto_topic_creation=auto_topic_creation
493493
)
494494

495-
future = self._send_request_to_node(
496-
self._client.least_loaded_node(),
497-
request
498-
)
495+
if use_controller:
496+
future = self._send_request_to_controller(request)
497+
else:
498+
future = self._send_request_to_node(
499+
self._client.least_loaded_node(),
500+
request
501+
)
499502
self._wait_for_futures([future])
500503
return future.value
501504

@@ -505,7 +508,7 @@ def list_topics(self):
505508
return [t['topic'] for t in obj['topics']]
506509

507510
def describe_topics(self, topics=None):
508-
metadata = self._get_cluster_metadata(topics=topics)
511+
metadata = self._get_cluster_metadata(topics=topics, use_controller=True)
509512
obj = metadata.to_object()
510513
return obj['topics']
511514

0 commit comments

Comments
 (0)