diff options
author | Dana Powers <dana.powers@gmail.com> | 2018-05-24 23:07:49 -0700 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2018-05-24 23:07:49 -0700 |
commit | a8f566a4efd42466827d44e57d3550ec91d13cf2 (patch) | |
tree | 839e9629ecdbbf843b714ca0c9889626ccee622d | |
parent | 79d731f50934947342f31a9f7517b727f7e9161f (diff) | |
download | kafka-python-a8f566a4efd42466827d44e57d3550ec91d13cf2.tar.gz |
Ignore MetadataResponse if broker list is empty
-rw-r--r-- | kafka/cluster.py | 3 | ||||
-rw-r--r-- | kafka/errors.py | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/kafka/cluster.py b/kafka/cluster.py index 45f25ad..8078eb7 100644 --- a/kafka/cluster.py +++ b/kafka/cluster.py @@ -214,7 +214,8 @@ class ClusterMetadata(object): return self.failed_update(error) if not metadata.brokers: - log.warning("No broker metadata found in MetadataResponse") + log.warning("No broker metadata found in MetadataResponse -- ignoring.") + return self.failed_update(Errors.MetadataEmptyBrokerList(metadata)) _new_brokers = {} for broker in metadata.brokers: diff --git a/kafka/errors.py b/kafka/errors.py index f4c8740..93a9f40 100644 --- a/kafka/errors.py +++ b/kafka/errors.py @@ -54,6 +54,10 @@ class StaleMetadata(KafkaError): invalid_metadata = True +class MetadataEmptyBrokerList(KafkaError): + retriable = True + + class UnrecognizedBrokerVersion(KafkaError): pass |