Pengwei created KAFKA-3075: ------------------------------ Summary: java.util.HashMap cannot be cast to scala.collection.immutable.Map When using ZookeeperConsumerConnector.commitOffsets Key: KAFKA-3075 URL: https://issues.apache.org/jira/browse/KAFKA-3075 Project: Kafka Issue Type: Bug Components: consumer Reporter: Pengwei Assignee: Neha Narkhede Fix For: 0.9.0.1
When using java api's commit offset : public void commitOffsets(Map<TopicAndPartition, OffsetAndMetadata> offsetsToCommit, boolean retryOnFailure); and pass a Java Hash Map to this interface, will found: java.lang.ClassCastException: java.util.HashMap cannot be cast to scala.collection.immutable.Map at kafka.javaapi.consumer.ZookeeperConsumerConnector.commitOffsets(ZookeeperConsumerConnector.scala:118) at kafka.examples.CommitExceptionTest.testCommitNotExistTopicShoudThrowException(CommitExceptionTest.java:55) at kafka.examples.CommitExceptionTest.main(CommitExceptionTest.java:20) Test case testCommitNotExistTopicShoudThrowException OK. Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to scala.collection.immutable.Map at kafka.javaapi.consumer.ZookeeperConsumerConnector.commitOffsets(ZookeeperConsumerConnector.scala:118) at kafka.examples.CommitExceptionTest.testCommitOffsetOutOfRange(CommitExceptionTest.java:95) at kafka.examples.CommitExceptionTest.main(CommitExceptionTest.java:22) The Origin Code: def setConsumerRebalanceListener(consumerRebalanceListener: ConsumerRebalanceListener) { underlying.setConsumerRebalanceListener(consumerRebalanceListener) } I try to fix like this, it is OK: def commitOffsets(offsetsToCommit: java.util.Map[TopicAndPartition, OffsetAndMetadata], retryOnFailure: Boolean) { import scala.collection.JavaConverters._ underlying.commitOffsets(offsetsToCommit.asScala.toMap, retryOnFailure) } -- This message was sent by Atlassian JIRA (v6.3.4#6332)