summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2019-03-13 21:10:47 -0700
committerJeff Widman <jeff@jeffwidman.com>2019-03-13 21:10:47 -0700
commit1cd505df43ab9d8c08405338e71b913d22275198 (patch)
tree8f2177d4b195fc2f58b35ffc059f6019c6c6515d
parent921c553b6a62a34044e4ae444af65abea3717faa (diff)
downloadkafka-python-1cd505df43ab9d8c08405338e71b913d22275198.tar.gz
Don't recheck version if api_versions data is already cached (#1738)
I noticed during local testing that version probing was happening twice when connecting to newer broker versions. This was because we call check_version() once explicitly, and then again implicitly within get_api_versions(). But once we have _api_versions data cached, we can just return it and avoid probing versions a second time.
-rw-r--r--kafka/conn.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/kafka/conn.py b/kafka/conn.py
index 4f324c8..4781b9a 100644
--- a/kafka/conn.py
+++ b/kafka/conn.py
@@ -912,6 +912,9 @@ class BrokerConnection(object):
return self._api_versions
def get_api_versions(self):
+ if self._api_versions is not None:
+ return self._api_versions
+
version = self.check_version()
if version < (0, 10, 0):
raise Errors.UnsupportedVersionError(