[ 
https://issues.apache.org/jira/browse/KAFKA-928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Neha Narkhede updated KAFKA-928:
--------------------------------

    Attachment: kafka-928.patch

The bug is more serious. If the controller goes through a session expiration 
and gets re-elected, which is rare, it will stop responding to all new topic 
state changes. Not only that, it will also stop responding to broker failures 
or startups.

The root cause of the bug is in the startup() API of the state machines. Both 
hasStarted and hasShutdown() are required since the former prevents the state 
machines from acting on state changes before their internal data structures are 
ready. The latter prevents state machines from acting on state changes while 
they are being shutdown.
                
> new topics may not be processed after ZK session expiration in controller
> -------------------------------------------------------------------------
>
>                 Key: KAFKA-928
>                 URL: https://issues.apache.org/jira/browse/KAFKA-928
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.8
>            Reporter: Jun Rao
>            Priority: Blocker
>         Attachments: kafka-928.patch
>
>
> When controller loses its ZK session, it calls partitionStateMachine.shutdown 
> in SessionExpirationListener, which marks the partitionStateMachine as down. 
> However, when the controller regains its controllership, it doesn't mark 
> partitionStateMachine as up. In TopicChangeListener, we only process new 
> topics if the partitionStateMachine is marked up.

--
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