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

Mayuresh Gharat edited comment on KAFKA-3083 at 1/14/16 6:34 PM:
-----------------------------------------------------------------

That's a very good point, I will verify if this can happen. 
Moreover, I think the behavior should be :
1) Broker A was the controller.
2) Broker A faces a session expiration, invokes the controllerResignation and 
clears all its caches and also stops all the ongoing controller work.
3) Broker B becomes the controller and proceeds. 

what do you think?


was (Author: mgharat):
That's a very good point, I will verify if this can happen. 
Moreover, I think the behavior should be :
1) Broker A was the controller.
2) Broker A faces a session expiration, invokes the controllerResignation and 
clears all its caches and also stops all the ongoing controller work.
3) Broker B becomes the controller and proceeds. 

> a soft failure in controller may leader a topic partition in an inconsistent 
> state
> ----------------------------------------------------------------------------------
>
>                 Key: KAFKA-3083
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3083
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.9.0.0
>            Reporter: Jun Rao
>            Assignee: Mayuresh Gharat
>
> The following sequence can happen.
> 1. Broker A is the controller and is in the middle of processing a broker 
> change event. As part of this process, let's say it's about to shrink the isr 
> of a partition.
> 2. Then broker A's session expires and broker B takes over as the new 
> controller. Broker B sends the initial leaderAndIsr request to all brokers.
> 3. Broker A continues by shrinking the isr of the partition in ZK and sends 
> the new leaderAndIsr request to the broker (say C) that leads the partition. 
> Broker C will reject this leaderAndIsr since the request comes from a 
> controller with an older epoch. Now we could be in a situation that Broker C 
> thinks the isr has all replicas, but the isr stored in ZK is different.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to