diff options
author | Tosi Émeric <emeric254@users.noreply.github.com> | 2018-12-27 01:40:30 +0100 |
---|---|---|
committer | Taras Voinarovskyi <voyn1991@gmail.com> | 2018-12-27 09:40:30 +0900 |
commit | 807ac8244cd39ca8426cfeda245ec27802c0a600 (patch) | |
tree | a68efaf8f83c8c59d3ca2d62446395cfd5dd2a23 | |
parent | 7aa997f7205c116582b3d5f354cff3c7eac89ad2 (diff) | |
download | kafka-python-807ac8244cd39ca8426cfeda245ec27802c0a600.tar.gz |
#1681 add copy() in metrics() to avoid thread safety issues (#1682)
-rw-r--r-- | kafka/consumer/group.py | 4 | ||||
-rw-r--r-- | kafka/producer/kafka.py | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/kafka/consumer/group.py b/kafka/consumer/group.py index 8727de7..699b02b 100644 --- a/kafka/consumer/group.py +++ b/kafka/consumer/group.py @@ -903,10 +903,10 @@ class KafkaConsumer(six.Iterator): releases without warning. """ if raw: - return self._metrics.metrics + return self._metrics.metrics.copy() metrics = {} - for k, v in six.iteritems(self._metrics.metrics): + for k, v in six.iteritems(self._metrics.metrics.copy()): if k.group not in metrics: metrics[k.group] = {} if k.name not in metrics[k.group]: diff --git a/kafka/producer/kafka.py b/kafka/producer/kafka.py index 685c3f9..ccdd91a 100644 --- a/kafka/producer/kafka.py +++ b/kafka/producer/kafka.py @@ -716,10 +716,10 @@ class KafkaProducer(object): releases without warning. """ if raw: - return self._metrics.metrics + return self._metrics.metrics.copy() metrics = {} - for k, v in six.iteritems(self._metrics.metrics): + for k, v in six.iteritems(self._metrics.metrics.copy()): if k.group not in metrics: metrics[k.group] = {} if k.name not in metrics[k.group]: |