diff options
-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 |