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

Ismael Juma commented on KAFKA-3394:
------------------------------------

Given how the Scala request classes work, it seems to me that we have to make 
all Strings nullable in the Java request classes that are handling requests 
that were previously handled by Scala request classes. Is there any alternative 
that won't break clients? It is a bit too late to change this after we actually 
release a particular version.

> Broker fails to parse Null Metadata in OffsetCommit requests
> ------------------------------------------------------------
>
>                 Key: KAFKA-3394
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3394
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.10.0.0
>            Reporter: Magnus Edenhill
>            Assignee: Jason Gustafson
>            Priority: Blocker
>             Fix For: 0.10.0.0
>
>
> librdkafka sends a Null Metadata string (size -1) in its OffsetCommitRequests 
> when there is no metadata, this unfortunately leads to an exception on the 
> broker that expects a non-null string.
> {noformat}
> [2016-03-11 11:11:57,623] ERROR Closing socket for 
> 10.191.0.33:9092-10.191.0.33:56503 because of error (kafka.network.Processor)
> kafka.network.InvalidRequestException: Error getting request for apiKey: 8 
> and apiVersion: 1
>     at 
> kafka.network.RequestChannel$Request.liftedTree2$1(RequestChannel.scala:91)
>     at kafka.network.RequestChannel$Request.<init>(RequestChannel.scala:88)
>     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:727)
>     at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
>     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:745)
> Caused by: org.apache.kafka.common.protocol.types.SchemaException: Error 
> reading field 'topics': Error reading field 'partitions': Error reading field 
> 'metadata': java.lang.NegativeArraySizeException
>     at org.apache.kafka.common.protocol.types.Schema.read(Schema.java:73)
>     at 
> org.apache.kafka.common.requests.OffsetCommitRequest.parse(OffsetCommitRequest.java:260)
>     at 
> org.apache.kafka.common.requests.AbstractRequest.getRequest(AbstractRequest.java:50)
>     at 
> kafka.network.RequestChannel$Request.liftedTree2$1(RequestChannel.scala:88)
>     ... 9 more
> {noformat}



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

Reply via email to