[
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