Skip to content

Commit 644a114

Browse files
committed
Catch response decode errors and log details (#715)
1 parent 007b2e3 commit 644a114

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

kafka/conn.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,20 @@ def _process_response(self, read_buffer):
507507
return None
508508

509509
# decode response
510-
response = ifr.response_type.decode(read_buffer)
510+
try:
511+
response = ifr.response_type.decode(read_buffer)
512+
except ValueError:
513+
read_buffer.seek(0)
514+
buf = read_buffer.read()
515+
log.error('%s Response %d [ResponseType: %s Request: %s]:'
516+
' Unable to decode %d-byte buffer: %r', self,
517+
ifr.correlation_id, ifr.response_type,
518+
ifr.request, len(buf), buf)
519+
ifr.future.failure(Errors.UnknownError('Unable to decode response'))
520+
self.close()
521+
self._processing = False
522+
return None
523+
511524
log.debug('%s Response %d: %s', self, ifr.correlation_id, response)
512525
ifr.future.success(response)
513526
self._processing = False

0 commit comments

Comments
 (0)