From 0f929bd866f1526fc5d18068c31903f1ae3393d2 Mon Sep 17 00:00:00 2001 From: Dana Powers Date: Sun, 29 Sep 2019 17:07:03 -0700 Subject: Change coordinator lock acquisition order (#1821) --- kafka/client_async.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'kafka/client_async.py') diff --git a/kafka/client_async.py b/kafka/client_async.py index 9b9cb8f..b002797 100644 --- a/kafka/client_async.py +++ b/kafka/client_async.py @@ -597,7 +597,9 @@ class KafkaClient(object): self._poll(timeout / 1000) - responses.extend(self._fire_pending_completed_requests()) + # called without the lock to avoid deadlock potential + # if handlers need to acquire locks + responses.extend(self._fire_pending_completed_requests()) # If all we had was a timeout (future is None) - only do one poll # If we do have a future, we keep looping until it is done -- cgit v1.2.1