You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Manikumar (JIRA)" <ji...@apache.org> on 2018/05/22 19:10:00 UTC

[jira] [Resolved] (KAFKA-3345) ProducerResponse could gracefully handle no throttle time provided

     [ https://issues.apache.org/jira/browse/KAFKA-3345?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Manikumar resolved KAFKA-3345.
------------------------------
    Resolution: Auto Closed

Closing as scala producer is removed from codebase.
[|https://issues.apache.org/jira/secure/AddComment!default.jspa?id=13062336]

> ProducerResponse could gracefully handle no throttle time provided
> ------------------------------------------------------------------
>
>                 Key: KAFKA-3345
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3345
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Bryan Baugher
>            Priority: Minor
>
> When doing some compatibility testing between kafka 0.8 and 0.9 I found that the old producer using 0.9 libraries could write to a cluster running 0.8 if 'request.required.acks' was set to 0. If it was set to anything else it would fail with,
> {code}
> java.nio.BufferUnderflowException
> 	at java.nio.Buffer.nextGetIndex(Buffer.java:506) 
> 	at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:361) 
> 	at kafka.api.ProducerResponse$.readFrom(ProducerResponse.scala:41) 
> 	at kafka.producer.SyncProducer.send(SyncProducer.scala:109) 
> {code}
> In 0.9 there was a one line change to the response here[1] to look for a throttle time value in the response. It seems if the 0.9 code gracefully handled throttle time not being provided this would work. Would you be open to this change?
> [1] - https://github.com/apache/kafka/blob/0.9.0.1/core/src/main/scala/kafka/api/ProducerResponse.scala#L41



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)