summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2016-05-17 07:23:37 -0700
committerDana Powers <dana.powers@gmail.com>2016-05-17 07:24:00 -0700
commit254dcacb28f66c8426fb8ff161b88e2feb4c486a (patch)
tree10fce9db5c427c35a0e371ebca6868520540fbe3
parentd7fa0731a0aba7cb59addbbc9f6f3b270a842df7 (diff)
downloadkafka-python-254dcacb28f66c8426fb8ff161b88e2feb4c486a.tar.gz
Fixup BrokerConnection check_version strict error checking: 0.9 will fail with CorrelationIdError
-rw-r--r--kafka/conn.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/kafka/conn.py b/kafka/conn.py
index 8f0539b..db56dda 100644
--- a/kafka/conn.py
+++ b/kafka/conn.py
@@ -598,6 +598,13 @@ class BrokerConnection(object):
# get a basic Request Timeout. This is not ideal, but we'll deal
if isinstance(f.exception, Errors.RequestTimedOutError):
pass
+
+ # 0.9 brokers do not close the socket on unrecognized api
+ # requests (bug...). In this case we expect to see a correlation
+ # id mismatch
+ elif (isinstance(f.exception, Errors.CorrelationIdError) and
+ version == '0.10'):
+ pass
elif six.PY2:
assert isinstance(f.exception.args[0], socket.error)
assert f.exception.args[0].errno in (32, 54, 104)