summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2016-04-25 11:59:38 -0700
committerDana Powers <dana.powers@gmail.com>2016-04-25 12:02:16 -0700
commit37cffc3327df6aca6e14c8143551f47038b80f62 (patch)
treee6423f7108a32de9ecf3c4fd404731b8177a2791
parent1bc2ce07782468eb4f244ad79a9784d10d5bc910 (diff)
downloadkafka-python-coordinator_del.tar.gz
Avoid some exceptions in Coordinator.__del__coordinator_del
-rw-r--r--kafka/coordinator/base.py3
-rw-r--r--kafka/coordinator/consumer.py3
2 files changed, 4 insertions, 2 deletions
diff --git a/kafka/coordinator/base.py b/kafka/coordinator/base.py
index a4c25a3..168115a 100644
--- a/kafka/coordinator/base.py
+++ b/kafka/coordinator/base.py
@@ -89,7 +89,8 @@ class BaseCoordinator(object):
#self.sensors = GroupCoordinatorMetrics(metrics, metric_group_prefix, metric_tags)
def __del__(self):
- self.heartbeat_task.disable()
+ if hasattr(self, 'heartbeat_task') and self.heartbeat_task:
+ self.heartbeat_task.disable()
@abc.abstractmethod
def protocol_type(self):
diff --git a/kafka/coordinator/consumer.py b/kafka/coordinator/consumer.py
index 50d2806..196bcc7 100644
--- a/kafka/coordinator/consumer.py
+++ b/kafka/coordinator/consumer.py
@@ -106,7 +106,8 @@ class ConsumerCoordinator(BaseCoordinator):
def __del__(self):
if hasattr(self, '_auto_commit_task') and self._auto_commit_task:
self._auto_commit_task.disable()
- self._cluster.remove_listener(WeakMethod(self._handle_metadata_update))
+ if hasattr(self, '_cluster') and self._cluster:
+ self._cluster.remove_listener(WeakMethod(self._handle_metadata_update))
def protocol_type(self):
return ConsumerProtocol.PROTOCOL_TYPE