You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Jay Kreps (JIRA)" <ji...@apache.org> on 2015/02/08 00:46:34 UTC

[jira] [Commented] (KAFKA-841) Merge the partition and replica state machines into a single unified state machine in the controller

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

Jay Kreps commented on KAFKA-841:
---------------------------------

[~nehanarkhede] is this still a consideration?

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