[ https://issues.apache.org/jira/browse/KAFKA-1096?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Neha Narkhede resolved KAFKA-1096. ---------------------------------- Resolution: Fixed Thanks for the updated patch! Pushed to trunk > An old controller coming out of long GC could update its epoch to the latest > controller's epoch > ----------------------------------------------------------------------------------------------- > > Key: KAFKA-1096 > URL: https://issues.apache.org/jira/browse/KAFKA-1096 > Project: Kafka > Issue Type: Bug > Components: controller > Affects Versions: 0.8.0 > Reporter: Swapnil Ghike > Assignee: Sriharsha Chintalapani > Fix For: 0.8.2 > > Attachments: KAFKA-1096.patch, KAFKA-1096_2014-06-20_15:27:44.patch > > > If a controller GCs for too long, we could have two controllers in the > cluster. The controller epoch is supposed to minimize the damage in such a > situation, as the brokers will reject the requests sent by the controller > with an older epoch. > When the old controller is still in long GC, a new controller could be > elected. This will fire ControllerEpochListener on the old controller. When > it comes out of GC, its ControllerEpochListener will update its own epoch to > the new controller's epoch. So both controllers are now able to send out > requests with the same controller epoch until the old controller's > handleNewSession() can execute in the controller lock. > ControllerEpochListener does not seem necessary, so we can probably delete it. -- This message was sent by Atlassian JIRA (v6.2#6252)