diff options
author | Dana Powers <dana.powers@gmail.com> | 2017-03-03 12:04:00 -0800 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2017-03-03 14:16:45 -0800 |
commit | 537bfd164f216871be950a5458abbb61c05d9ab9 (patch) | |
tree | ff890e23aec6e00f0509282b09ea5537454429e4 /kafka/coordinator/base.py | |
parent | 315850c87759d8379899fbfdc6a882100d4a7020 (diff) | |
download | kafka-python-check_invalid_metadata.tar.gz |
Dont refresh metadata on failed group coordinator request unless neededcheck_invalid_metadata
Diffstat (limited to 'kafka/coordinator/base.py')
-rw-r--r-- | kafka/coordinator/base.py | 10 |
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 |