java.lang.IllegalStateException: Controller to broker state change requests batch is not empty while creating a new one. Some LeaderAndIsr state changes Map(1 -> Map(topic1-0 -> (LeaderAndIsrInfo:(Leader:1,ISR:1,LeaderEpoch:0,ControllerEpoch:1),ReplicationFactor:1),AllReplicas:1))) might be lost

Apache's JIRA Issue Tracker | Flavio Junqueira | 1 year ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    We observed another instance of the problem reported in KAFKA-2300, but this time the error appeared in the partition state machine. In KAFKA-2300, we haven't cleaned up the state in {{PartitionStateMachine}} and {{ReplicaStateMachine}} as we do in {{KafkaController}}. Here is the stack trace: {noformat} 2016-01-29 15:26:51,393] ERROR [Partition state machine on Controller 0]: Error while moving some partitions to OnlinePartition state (kafka.controller.PartitionStateMachine)java.lang.IllegalStateException: Controller to broker state change requests batch is not empty while creating a new one. Some LeaderAndIsr state changes Map(0 -> Map(foo-0 -> (LeaderAndIsrInfo: (Leader:0,ISR:0,LeaderEpoch:0,ControllerEpoch:1),ReplicationFactor:1),AllReplicas:0))) might be lost at kafka.controller.ControllerBrokerRequestBatch.newBatch(ControllerChannelManager.scala:254) at kafka.controller.PartitionStateMachine.handleStateChanges(PartitionStateMachine.scala:144) at kafka.controller.KafkaController.onNewPartitionCreation(KafkaController.scala:517) at kafka.controller.KafkaController.onNewTopicCreation(KafkaController.scala:504) at kafka.controller.PartitionStateMachine$TopicChangeListener$$anonfun$handleChildChange$1.apply$mcV$sp(PartitionStateMachine.scala:437) at kafka.controller.PartitionStateMachine$TopicChangeListener$$anonfun$handleChildChange$1.apply(PartitionStateMachine.scala:419) at kafka.controller.PartitionStateMachine$TopicChangeListener$$anonfun$handleChildChange$1.apply(PartitionStateMachine.scala:419) at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:262) at kafka.controller.PartitionStateMachine$TopicChangeListener.handleChildChange(PartitionStateMachine.scala:418) at org.I0Itec.zkclient.ZkClient$10.run(ZkClient.java:842) at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71) {noformat}

    Apache's JIRA Issue Tracker | 1 year ago | Flavio Junqueira
    java.lang.IllegalStateException: Controller to broker state change requests batch is not empty while creating a new one. Some LeaderAndIsr state changes Map(1 -> Map(topic1-0 -> (LeaderAndIsrInfo:(Leader:1,ISR:1,LeaderEpoch:0,ControllerEpoch:1),ReplicationFactor:1),AllReplicas:1))) might be lost

    Root Cause Analysis

    1. java.lang.IllegalStateException

      Controller to broker state change requests batch is not empty while creating a new one. Some LeaderAndIsr state changes Map(1 -> Map(topic1-0 -> (LeaderAndIsrInfo:(Leader:1,ISR:1,LeaderEpoch:0,ControllerEpoch:1),ReplicationFactor:1),AllReplicas:1))) might be lost

      at kafka.controller.ControllerBrokerRequestBatch.newBatch()
    2. Apache Kafka
      ControllerFailoverTest.testStartupRace
      1. kafka.controller.ControllerBrokerRequestBatch.newBatch(ControllerChannelManager.scala:254)
      2. kafka.controller.PartitionStateMachine.triggerOnlinePartitionStateChange(PartitionStateMachine.scala:126)
      3. kafka.controller.PartitionStateMachine.startup(PartitionStateMachine.scala:71)
      4. kafka.controller.ControllerFailoverTest.testStartupRace(ControllerFailoverTest.scala:119)
      4 frames