[ 
https://issues.apache.org/jira/browse/KAFKA-691?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13549373#comment-13549373
 ] 

Jun Rao commented on KAFKA-691:
-------------------------------

DefaultEventHander.getPartitionListForTopic() returns Seq[PartitionAndLeader]. 
If PartitionAndLeader.leaderBrokerIdOpt is none, the partition is not 
available. 

There is another tricky issue. If a partition is not available, when do we 
refresh the metadata to check if the partition becomes available again? 
Currently, we refresh the metadata if we fail to send the data. However, if we 
always route the messages to available partitions, we may never fail to send. 
One possible solution is that if there is at least one partition not available 
in Seq[PartitionAndLeader], we refresh the metadata if a configurable amount of 
time has passed (e.g., 10 mins).
                
> Fault tolerance broken with replication factor 1
> ------------------------------------------------
>
>                 Key: KAFKA-691
>                 URL: https://issues.apache.org/jira/browse/KAFKA-691
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 0.8
>            Reporter: Jay Kreps
>
> In 0.7 if a partition was down we would just send the message elsewhere. This 
> meant that the partitioning was really more of a "stickiness" then a hard 
> guarantee. This made it impossible to depend on it for partitioned, stateful 
> processing.
> In 0.8 when running with replication this should not be a problem generally 
> as the partitions are now highly available and fail over to other replicas. 
> However in the case of replication factor = 1 no longer really works for most 
> cases as now a dead broker will give errors for that broker.
> I am not sure of the best fix. Intuitively I think this is something that 
> should be handled by the Partitioner interface. However currently the 
> partitioner has no knowledge of which nodes are available. So you could use a 
> random partitioner, but that would keep going back to the down node.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to