From 4cbeb2e591447ba25271c4924393e602ba49b324 Mon Sep 17 00:00:00 2001 From: Dana Powers Date: Fri, 9 Mar 2018 11:26:34 -0500 Subject: Short-circuit BrokerConnection.close() if already disconnected (#1424) --- kafka/conn.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/kafka/conn.py b/kafka/conn.py index c2ac28e..b0d6029 100644 --- a/kafka/conn.py +++ b/kafka/conn.py @@ -665,10 +665,13 @@ class BrokerConnection(object): will be failed with this exception. Default: kafka.errors.ConnectionError. """ + if self.state is ConnectionStates.DISCONNECTED: + if error is not None: + log.warning('%s: Duplicate close() with error: %s', self, error) + return log.info('%s: Closing connection. %s', self, error or '') - if self.state is not ConnectionStates.DISCONNECTED: - self.state = ConnectionStates.DISCONNECTING - self.config['state_change_callback'](self) + self.state = ConnectionStates.DISCONNECTING + self.config['state_change_callback'](self) self._update_reconnect_backoff() self._close_socket() self.state = ConnectionStates.DISCONNECTED -- cgit v1.2.1