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)

Reply via email to