diff --git a/kafka/client_async.py b/kafka/client_async.py index a9704fafd..a86817d12 100644 --- a/kafka/client_async.py +++ b/kafka/client_async.py @@ -414,6 +414,7 @@ def close(self, node_id=None): return def __del__(self): + log.debug('%s: __del__', self) self._close() def is_disconnected(self, node_id): diff --git a/kafka/conn.py b/kafka/conn.py index a2d5ee6cc..fa14761a4 100644 --- a/kafka/conn.py +++ b/kafka/conn.py @@ -689,6 +689,7 @@ def _close_socket(self): self._sock = None def __del__(self): + log.debug('%s: __del__', self) self._close_socket() def close(self, error=None): diff --git a/kafka/consumer/fetcher.py b/kafka/consumer/fetcher.py index 6ec1b71ed..01deb5c92 100644 --- a/kafka/consumer/fetcher.py +++ b/kafka/consumer/fetcher.py @@ -120,6 +120,9 @@ def __init__(self, client, subscriptions, metrics, **configs): self._sensors = FetchManagerMetrics(metrics, self.config['metric_group_prefix']) self._isolation_level = READ_UNCOMMITTED + def __del__(self): + log.debug('%s: __del__', self) + def send_fetches(self): """Send FetchRequests for all assigned partitions that do not already have an in-flight fetch or pending fetch data. diff --git a/kafka/consumer/group.py b/kafka/consumer/group.py index 9abf15e9b..543c75db1 100644 --- a/kafka/consumer/group.py +++ b/kafka/consumer/group.py @@ -421,6 +421,9 @@ def assignment(self): """ return self._subscription.assigned_partitions() + def __del__(self): + log.debug('%s: __del__', self) + def close(self, autocommit=True): """Close the consumer, waiting indefinitely for any needed cleanup. diff --git a/kafka/consumer/subscription_state.py b/kafka/consumer/subscription_state.py index 10d722ec5..c1cb0209c 100644 --- a/kafka/consumer/subscription_state.py +++ b/kafka/consumer/subscription_state.py @@ -73,6 +73,9 @@ def __init__(self, offset_reset_strategy='earliest'): # initialize to true for the consumers to fetch offset upon starting up self.needs_fetch_committed_offsets = True + def __del__(self): + log.debug('%s: __del__', self) + def subscribe(self, topics=(), pattern=None, listener=None): """Subscribe to a list of topics, or a topic regex pattern. diff --git a/kafka/coordinator/base.py b/kafka/coordinator/base.py index 7deeaf05d..506ab543a 100644 --- a/kafka/coordinator/base.py +++ b/kafka/coordinator/base.py @@ -735,6 +735,7 @@ def _close_heartbeat_thread(self): self._heartbeat_thread = None def __del__(self): + log.debug('BaseCoordinator: __del__') self._close_heartbeat_thread() def close(self): diff --git a/kafka/coordinator/consumer.py b/kafka/coordinator/consumer.py index cb1de0d2e..bb992e4c0 100644 --- a/kafka/coordinator/consumer.py +++ b/kafka/coordinator/consumer.py @@ -125,6 +125,7 @@ def __init__(self, client, subscription, metrics, **configs): self._cluster.add_listener(WeakMethod(self._handle_metadata_update)) def __del__(self): + log.debug('ConsumerCoordinator: __del__') if hasattr(self, '_cluster') and self._cluster: self._cluster.remove_listener(WeakMethod(self._handle_metadata_update)) super(ConsumerCoordinator, self).__del__() diff --git a/kafka/metrics/metrics.py b/kafka/metrics/metrics.py index e9c465deb..33b50b53b 100644 --- a/kafka/metrics/metrics.py +++ b/kafka/metrics/metrics.py @@ -71,6 +71,9 @@ def expire_loop(): 'total number of registered metrics'), AnonMeasurable(lambda config, now: len(self._metrics))) + def __del__(self): + logger.debug('%s: __del__', self) + @property def config(self): return self._config