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