Description
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.
[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