summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Powers <dana.powers@gmail.com>2018-05-24 23:07:49 -0700
committerDana Powers <dana.powers@gmail.com>2018-05-24 23:07:49 -0700
commita8f566a4efd42466827d44e57d3550ec91d13cf2 (patch)
tree839e9629ecdbbf843b714ca0c9889626ccee622d
parent79d731f50934947342f31a9f7517b727f7e9161f (diff)
downloadkafka-python-a8f566a4efd42466827d44e57d3550ec91d13cf2.tar.gz
Ignore MetadataResponse if broker list is empty
-rw-r--r--kafka/cluster.py3
-rw-r--r--kafka/errors.py4
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