You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "S Shan (JIRA)" <ji...@apache.org> on 2016/04/21 00:48:25 UTC

[jira] [Commented] (KAFKA-3593) kafka.network.Processor throws ArrayIndexOutOfBoundsException

    [ https://issues.apache.org/jira/browse/KAFKA-3593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15250884#comment-15250884 ] 

S Shan commented on KAFKA-3593:
-------------------------------

After I created this issue, I then found out that this is a known regression in brokers 0.9.0.0 and 0.9.0.1, https://issues.apache.org/jira/browse/KAFKA-3547
and the fix will be in  0.10.0.0.
Also, there is a workaround in the c/c++ library librdkafka. With the latest c/c++ librdkafka-master source (downloaded Apr 20, 2016), running the same tests, the kafka  broker no longer throws the ArrayIndexOutOfBoundsException. 

> kafka.network.Processor throws ArrayIndexOutOfBoundsException
> -------------------------------------------------------------
>
>                 Key: KAFKA-3593
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3593
>             Project: Kafka
>          Issue Type: Bug
>          Components: network
>    Affects Versions: 0.9.0.1
>         Environment: Red Hat Enterprise Linux Workstation release 6.7 (Santiago)
>            Reporter: S Shan
>            Assignee: Jun Rao
>
> While running the tests and examples from Kafka c/c++ library librdkafka (version 0.9),  Kafka repeated threw the ArrayIndexOutOfBoundsException due to "Array index out of range".
> [2016-04-13 12:02:27,490] ERROR Processor got uncaught exception. (kafka.network.Processor)
> java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 17
> 	at org.apache.kafka.common.protocol.ApiKeys.forId(ApiKeys.java:68)
> 	at org.apache.kafka.common.requests.AbstractRequest.getRequest(AbstractRequest.java:39)
> 	at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:79)
> 	at kafka.network.Processor$$anonfun$run$11.apply(SocketServer.scala:426)
> 	at kafka.network.Processor$$anonfun$run$11.apply(SocketServer.scala:421)
> 	at scala.collection.Iterator$class.foreach(Iterator.scala:742)
> 	at scala.collection.AbstractIterator.foreach(Iterator.scala:1194)
> 	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
> 	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
> 	at kafka.network.Processor.run(SocketServer.scala:421)
> 	at java.lang.Thread.run(Thread.java:798)
> ...
> [2016-04-20 13:39:59,973] INFO [Group Metadata Manager on Broker 2]: Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.GroupMetadataManager)
> [2016-04-20 13:40:00,446] INFO [Group Metadata Manager on Broker 0]: Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.GroupMetadataManager)
> [2016-04-20 13:40:07,135] ERROR Processor got uncaught exception. (kafka.network.Processor)
> java.lang.ArrayIndexOutOfBoundsException
> 	at org.apache.kafka.common.protocol.ApiKeys.forId(ApiKeys.java:68)
> 	at org.apache.kafka.common.requests.AbstractRequest.getRequest(AbstractRequest.java:39)
> 	at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:79)
> 	at kafka.network.Processor$$anonfun$run$11.apply(SocketServer.scala:426)
> 	at kafka.network.Processor$$anonfun$run$11.apply(SocketServer.scala:421)
> 	at scala.collection.Iterator$class.foreach(Iterator.scala:742)
> 	at scala.collection.AbstractIterator.foreach(Iterator.scala:1194)
> 	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
> 	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
> 	at kafka.network.Processor.run(SocketServer.scala:421)
> 	at java.lang.Thread.run(Thread.java:798)
> [2016-04-20 13:40:17,478] ERROR Processor got uncaught exception. (kafka.network.Processor)
> java.lang.ArrayIndexOutOfBoundsException
> 	at org.apache.kafka.common.protocol.ApiKeys.forId(ApiKeys.java:68)
> 	at org.apache.kafka.common.requests.AbstractRequest.getRequest(AbstractRequest.java:39)
> 	at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:79)
> 	at kafka.network.Processor$$anonfun$run$11.apply(SocketServer.scala:426)
> 	at kafka.network.Processor$$anonfun$run$11.apply(SocketServer.scala:421)
> 	at scala.collection.Iterator$class.foreach(Iterator.scala:742)
> 	at scala.collection.AbstractIterator.foreach(Iterator.scala:1194)
> 	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
> 	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
> 	at kafka.network.Processor.run(SocketServer.scala:421)
> 	at java.lang.Thread.run(Thread.java:798)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)