Skip to content

Commit ebaa5b6

Browse files
committed
Catch response decode errors and log details
1 parent 3a971ea commit ebaa5b6

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

kafka/conn.py

Lines changed: 14 additions & 1 deletion
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)