Skip to content

Commit 80e1efa

Browse files
committed
Avoid 100% CPU usage while socket is closed
After stop/start kafka service, kafka-python may use 100% CPU caused by busy-retry while the socket was closed. This fix the issue by unregister the socket if the fd is negative.
1 parent 316da74 commit 80e1efa

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

kafka/client_async.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,9 @@ def _poll(self, timeout):
634634
self._sensors.select_time.record((end_select - start_select) * 1000000000)
635635

636636
for key, events in ready:
637+
if key.fileobj.fileno() < 0:
638+
self._selector.unregister(key.fileobj)
639+
637640
if key.fileobj is self._wake_r:
638641
self._clear_wake_fd()
639642
continue

0 commit comments

Comments
 (0)