summaryrefslogtreecommitdiff
path: root/kafka
diff options
context:
space:
mode:
authorDana Powers <dana.powers@rd.io>2014-08-19 22:32:33 -0700
committerDana Powers <dana.powers@rd.io>2014-08-19 22:32:33 -0700
commit7b9322f0e19f1d6fc049d481e233e49bbc28b519 (patch)
tree382361c591036115a7ae12bcf1afa85c5c48b293 /kafka
parent472f287778ada947e76eba9519ad7af0bbd30fa0 (diff)
downloadkafka-python-7b9322f0e19f1d6fc049d481e233e49bbc28b519.tar.gz
Remove duplicate error handling blocks by moving empty response check into try block in conn.recv
Diffstat (limited to 'kafka')
-rw-r--r--kafka/conn.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/kafka/conn.py b/kafka/conn.py
index 805476e..2e37ecf 100644
--- a/kafka/conn.py
+++ b/kafka/conn.py
@@ -85,16 +85,20 @@ class KafkaConnection(local):
self.reinit()
while bytes_left:
+
try:
data = self._sock.recv(min(bytes_left, 4096))
+
+ # Receiving empty string from recv signals
+ # that the socket is in error. we will never get
+ # more data from this socket
+ if data == '':
+ raise socket.error('Not enough data to read message -- did server kill socket?')
+
except socket.error:
log.exception('Unable to receive data from Kafka')
self._raise_connection_error()
- if data == '':
- log.error("Not enough data to read this response")
- self._raise_connection_error()
-
bytes_left -= len(data)
log.debug("Read %d/%d bytes from Kafka", num_bytes - bytes_left, num_bytes)
responses.append(data)