Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
In `KafkaServer.start`, we start `KafkaController`:
/* start kafka controller */ kafkaController = new KafkaController(config, zkUtils, brokerState, kafkaMetricsTime, metrics, threadNamePrefix) kafkaController.startup()
Which sets the state to `RunningAsController` in `KafkaController.onControllerFailover`:
`brokerState.newState(RunningAsController)`
And this later gets set to `RunningAsBroker`.
This doesn't match the diagram in `BrokerStates`. junrao suggested that we should start the controller after we register the broker in ZK, but this seems tricky as we need to controller in `KafkaApis`.