summaryrefslogtreecommitdiff
path: root/kafka/consumer/simple.py
diff options
context:
space:
mode:
authorDana Powers <dana.powers@rd.io>2015-06-08 15:23:05 -0700
committerDana Powers <dana.powers@rd.io>2015-06-08 16:12:01 -0700
commitb235ce89733e17997ad7192e10064d47da9ccfb4 (patch)
tree94902a62beb5aff1a71a6dba7da7d96a09d71bca /kafka/consumer/simple.py
parentc28c8a31c36696544d81495e0bf9e2c425ba3786 (diff)
downloadkafka-python-b235ce89733e17997ad7192e10064d47da9ccfb4.tar.gz
SimpleConsumer should refresh metadata and retry on leadership changes; only raise on UnknownTopicOrPartition
Diffstat (limited to 'kafka/consumer/simple.py')
-rw-r--r--kafka/consumer/simple.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/kafka/consumer/simple.py b/kafka/consumer/simple.py
index 88eeada..384fa8e 100644
--- a/kafka/consumer/simple.py
+++ b/kafka/consumer/simple.py
@@ -344,9 +344,12 @@ class SimpleConsumer(Consumer):
try:
check_error(resp)
- except (UnknownTopicOrPartitionError, NotLeaderForPartitionError):
+ except UnknownTopicOrPartitionError:
self.client.reset_topic_metadata(resp.topic)
raise
+ except NotLeaderForPartitionError:
+ self.client.reset_topic_metadata(resp.topic)
+ continue
except OffsetOutOfRangeError:
log.warning("OffsetOutOfRangeError for %s - %d. "
"Resetting partition offset...",