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

Neha Narkhede commented on KAFKA-841:
-------------------------------------

[~jkreps] I think there are a few things we can clean up on the controller. 
However, we can discuss the specifics in an umbrella JIRA. My guess is that 
this will end up being one of the sub-tasks.

> Merge the partition and replica state machines into a single unified state 
> machine in the controller
> ----------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-841
>                 URL: https://issues.apache.org/jira/browse/KAFKA-841
>             Project: Kafka
>          Issue Type: Improvement
>          Components: controller
>    Affects Versions: 0.8.1
>            Reporter: Neha Narkhede
>            Assignee: Neha Narkhede
>
> After using the controller for a while as part of 0.8, I think it might be 
> worth looking into merging the separate state machines into a single unified 
> one. The reason is most events end up invoking state transitions on both 
> partitions and replicas. Initially, the thought of separating the two was to 
> handle cases which only touch one state machine (for example, changing the 
> replication factor or changing the number of partitions online). However, 
> these features also would end up touching both state machines. The complexity 
> comes from the correct ordering that one has to ensure between the operations 
> on both these state machines (KAFKA-831). Due to this, some state transitions 
> are unable to batch RPCs and/or zookeeper writes/reads since they need to 
> happen in each of the state machines separately. Since this will 
> significantly change controller code, I'm filing this for 0.8.1



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

Reply via email to