You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Neha Narkhede (JIRA)" <ji...@apache.org> on 2013/06/01 22:16:21 UTC

[jira] [Updated] (KAFKA-928) new topics may not be processed after ZK session expiration in controller

     [ 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