summaryrefslogtreecommitdiff
path: root/kafka/client.py
diff options
context:
space:
mode:
authorMark Roberts <wizzat@gmail.com>2015-01-15 00:49:46 -0800
committerMark Roberts <wizzat@gmail.com>2015-01-15 00:49:46 -0800
commite6b37c00c5b0a52f821b35a4e26c0943f3e05b07 (patch)
tree14b58764d5d711360d04606e10cec7dc6d6400af /kafka/client.py
parent28a838516b3feb81c3c7f7fbd6aad2391a4139c5 (diff)
parent21a5ca834b9e0831b29870b5d099263892f21a7d (diff)
downloadkafka-python-e6b37c00c5b0a52f821b35a4e26c0943f3e05b07.tar.gz
Merge pull request #295 from dpkp/kafka_0_8_2
Kafka 0.8.2.0 updates
Diffstat (limited to 'kafka/client.py')
-rw-r--r--kafka/client.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/kafka/client.py b/kafka/client.py
index bc3d853..7a0cf18 100644
--- a/kafka/client.py
+++ b/kafka/client.py
@@ -11,7 +11,7 @@ from kafka.common import (TopicAndPartition, BrokerMetadata,
ConnectionError, FailedPayloadsError,
KafkaTimeoutError, KafkaUnavailableError,
LeaderNotAvailableError, UnknownTopicOrPartitionError,
- NotLeaderForPartitionError)
+ NotLeaderForPartitionError, ReplicaNotAvailableError)
from kafka.conn import collect_hosts, KafkaConnection, DEFAULT_SOCKET_TIMEOUT_SECONDS
from kafka.protocol import KafkaProtocol
@@ -350,6 +350,11 @@ class KafkaClient(object):
log.error('No leader for topic %s partition %d', topic, partition)
self.topics_to_brokers[topic_part] = None
continue
+ # If one of the replicas is unavailable -- ignore
+ # this error code is provided for admin purposes only
+ # we never talk to replicas, only the leader
+ except ReplicaNotAvailableError:
+ log.warning('Some (non-leader) replicas not available for topic %s partition %d', topic, partition)
# If Known Broker, topic_partition -> BrokerMetadata
if leader in self.brokers: