Sergey Bobrenok created KAFKA-8681: -------------------------------------- Summary: IllegalStateException in GroupMetadataManager during transactional offset commit Key: KAFKA-8681 URL: https://issues.apache.org/jira/browse/KAFKA-8681 Project: Kafka Issue Type: Bug Components: core Affects Versions: 2.0.1 Reporter: Sergey Bobrenok
Kafka cluster: 11 brokers, 5 zk. Periodically in broker logs appears error message {code:java} [2019-07-12 12:18:46,513] INFO [GroupCoordinator 13]: Preparing to rebalance group xxx with old generation 13588 (__consumer_offsets-9) (kafka.coordinator.group.GroupCoordinator) [2019-07-12 12:18:46,513] INFO [GroupCoordinator 13]: Group xxx with generation 13589 is now empty (__consumer_offsets-9) (kafka.coordinator.group.GroupCoordinator) [2019-07-12 12:19:15,323] ERROR Uncaught exception in scheduled task 'handleTxnCompletion-225002' (kafka.utils.KafkaScheduler) java.lang.IllegalStateException: Trying to complete a transactional offset commit for producerId 225002 and groupId yyy even though the offset commit record itself hasn't been appended to the log. at kafka.coordinator.group.GroupMetadata$$anonfun$completePendingTxnOffsetCommit$1$$anonfun$apply$1.apply(GroupMetadata.scala:400) at kafka.coordinator.group.GroupMetadata$$anonfun$completePendingTxnOffsetCommit$1$$anonfun$apply$1.apply(GroupMetadata.scala:398) at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:130) at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:130) at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:236) at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40) at scala.collection.mutable.HashMap.foreach(HashMap.scala:130) at kafka.coordinator.group.GroupMetadata$$anonfun$completePendingTxnOffsetCommit$1.apply(GroupMetadata.scala:398) at kafka.coordinator.group.GroupMetadata$$anonfun$completePendingTxnOffsetCommit$1.apply(GroupMetadata.scala:397) at scala.Option.foreach(Option.scala:257) at kafka.coordinator.group.GroupMetadata.completePendingTxnOffsetCommit(GroupMetadata.scala:397) at kafka.coordinator.group.GroupMetadataManager$$anonfun$handleTxnCompletion$1$$anonfun$apply$34.apply(GroupMetadataManager.scala:834) at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:251) at kafka.coordinator.group.GroupMetadata.inLock(GroupMetadata.scala:188) at kafka.coordinator.group.GroupMetadataManager$$anonfun$handleTxnCompletion$1.apply(GroupMetadataManager.scala:832) at kafka.coordinator.group.GroupMetadataManager$$anonfun$handleTxnCompletion$1.apply(GroupMetadataManager.scala:830) at scala.collection.mutable.HashSet.foreach(HashSet.scala:78) at kafka.coordinator.group.GroupMetadataManager.handleTxnCompletion(GroupMetadataManager.scala:830) at kafka.coordinator.group.GroupMetadataManager$$anonfun$scheduleHandleTxnCompletion$1.apply$mcV$sp(GroupMetadataManager.scala:825) at kafka.utils.KafkaScheduler$$anonfun$1.apply$mcV$sp(KafkaScheduler.scala:114) at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:63) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) [2019-07-12 12:19:41,620] INFO [Log partition=zzz-changelog-42, dir=/var/storage/kafka] Deleting segment 0 (kafka.log.Log) [2019-07-12 12:19:41,620] INFO [Log partition=zzz-changelog-42, dir=/var/storage/kafka] Deleting segment 35471 (kafka.log.Log) {code} It doesn't seems harmless. I didn't find something unordinary about the transactions though. No errors in producer's log either. The problem always affects the same consumer group. -- This message was sent by Atlassian JIRA (v7.6.14#76016)