diff options
author | Dana Powers <dana.powers@gmail.com> | 2019-03-13 21:10:47 -0700 |
---|---|---|
committer | Jeff Widman <jeff@jeffwidman.com> | 2019-03-13 21:10:47 -0700 |
commit | 1cd505df43ab9d8c08405338e71b913d22275198 (patch) | |
tree | 8f2177d4b195fc2f58b35ffc059f6019c6c6515d | |
parent | 921c553b6a62a34044e4ae444af65abea3717faa (diff) | |
download | kafka-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.py | 3 |
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( |