Jason Gustafson created KAFKA-2990: -------------------------------------- Summary: NoSuchMethodError when Kafka is compiled with 1.8 and run on 1.7 Key: KAFKA-2990 URL: https://issues.apache.org/jira/browse/KAFKA-2990 Project: Kafka Issue Type: Bug Reporter: Jason Gustafson Assignee: Jason Gustafson
I saw the following exception in the server logs when Kafka is compiled with 1.8 jdk and run on a 1.7. {code} java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; at kafka.utils.Pool.keys(Pool.scala:79) at kafka.coordinator.GroupMetadataManager.kafka$coordinator$GroupMetadataManager$$removeGroupsAndOffsets$1(GroupMetadataManager.scala:483) at kafka.coordinator.GroupMetadataManager$$anonfun$removeGroupsForPartition$1.apply$mcV$sp(GroupMetadataManager.scala:465) at kafka.utils.KafkaScheduler$$anonfun$1.apply$mcV$sp(KafkaScheduler.scala:110) at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:60) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) {code} The keySet() method for ConcurrentHashMap was changed in 1.8 to refer to KeySetView, which didn't exist in 1.7. To fix it, we just need to make sure that Pool calls ConcurrentMap.keySet() instead. -- This message was sent by Atlassian JIRA (v6.3.4#6332)