[ https://issues.apache.org/jira/browse/KAFKA-5258?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Onur Karaman updated KAFKA-5258: -------------------------------- Status: Patch Available (was: In Progress) > move all partition and replica state transition rules into a map > ---------------------------------------------------------------- > > Key: KAFKA-5258 > URL: https://issues.apache.org/jira/browse/KAFKA-5258 > Project: Kafka > Issue Type: Sub-task > Reporter: Onur Karaman > Assignee: Onur Karaman > Priority: Minor > > Today the PartitionStateMachine and ReplicaStateMachine defines and asserts > the valid state transitions inline for each state, looking something like: > {code} > private def handleStateChange(...) { > targetState match { > case stateA => { > assertValidPreviousStates(topicAndPartition, List(stateX, stateY, > stateZ), stateA) > // actual work > } > case stateB => { > assertValidPreviousStates(topicAndPartition, List(stateD, stateE), > stateB) > // actual work > } > } > } > {code} > It would be cleaner to move all partition and replica state transition rules > into a map and simply do the assertion at the top of the handleStateChange > method like so: > {code} > private val validPreviousStates: Map[State, Set[State]] = ... > private def handleStateChange(...) { > assertValidTransition(targetState) > targetState match { > case stateA => { > // actual work > } > case stateB => { > // actual work > } > } > } > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)