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/03/29 03:29:15 UTC

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

Neha Narkhede created KAFKA-841:
-----------------------------------

             Summary: 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 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