summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2017-03-03 15:03:37 -0800
committerGitHub <noreply@github.com>2017-03-03 15:03:37 -0800
commit7b727ab92b891a2aa053f83480c271692f7e2638 (patch)
treeff890e23aec6e00f0509282b09ea5537454429e4
parent315850c87759d8379899fbfdc6a882100d4a7020 (diff)
downloadkafka-python-7b727ab92b891a2aa053f83480c271692f7e2638.tar.gz
Dont refresh metadata on failed group coordinator request unless needed (#1006)
-rw-r--r--kafka/coordinator/base.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/kafka/coordinator/base.py b/kafka/coordinator/base.py
index d6ffc3a..6e174c8 100644
--- a/kafka/coordinator/base.py
+++ b/kafka/coordinator/base.py
@@ -213,12 +213,10 @@ class BaseCoordinator(object):
self._client.poll(future=future)
if future.failed():
- if isinstance(future.exception,
- Errors.GroupCoordinatorNotAvailableError):
- continue
- elif future.retriable():
- metadata_update = self._client.cluster.request_update()
- self._client.poll(future=metadata_update)
+ if future.retriable():
+ if getattr(future.exception, 'invalid_metadata', False):
+ metadata_update = self._client.cluster.request_update()
+ self._client.poll(future=metadata_update)
else:
raise future.exception # pylint: disable-msg=raising-bad-type