[
https://issues.apache.org/jira/browse/KAFKA-998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13729681#comment-13729681
]
Guozhang Wang commented on KAFKA-998:
-------------------------------------
Approach proposal:
1. Passing the errorCode from send to dispatchSerializedData to handle along
with the outstandingProduceRequests.
2. When outstandingProduceRequests.size > 0, check the corresponding error
code, if the error code indicates a non-avoidable error such as
MessageSizeTooLarge, then break the while loop intermediately.
By doing so it would also be easier in the future if we want to make a smarted
producer client by dynamically shrinking the batch size.
> Producer should not retry on non-recoverable error codes
> --------------------------------------------------------
>
> Key: KAFKA-998
> URL: https://issues.apache.org/jira/browse/KAFKA-998
> Project: Kafka
> Issue Type: Bug
> Affects Versions: 0.8, 0.8.1
> Reporter: Joel Koshy
> Assignee: Guozhang Wang
>
> Based on a discussion with Guozhang. The producer currently retries on all
> error codes (including messagesizetoolarge which is pointless to retry on).
> This can slow down the producer unnecessarily.
> If at all we want to retry on that error code we would need to retry with a
> smaller batch size, but that's a separate discussion.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira