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

Swapnil Ghike updated KAFKA-490:
--------------------------------

    Attachment: kafka-490-v1.patch

1. The changes in Log are mostly similar to those in Kafka-469. 

2. In addition to that, I have removed the message size check in producer. 

3. Now, the broker returns an error code for MessageSizeTooLargeException, this 
is logged as an error in the broker just like the other exception cases. 

4. The producer on receiving the MessageSizeTooLargeCode logs a warning 
producerRetries times, and eventually logs a "failed to send request" error. 

5. Since there is no point in re-sending a message that was previously declined 
by the broker due to its size, we could return the errorcode along with every 
(topic, partition) pair. Any pair with MessageSizeTooLargeCode error could be 
excluded from further attempts of re-transmission. However, this feels like a 
hack only for the sake of preventing large messages from being re-transmitted. 
If we are to do anything along this line, then we are better off preventing 
them from transmitting in the first place. 

6. A unit test in LogTest to check maxMessageSize in Log.append.

7. A unit test in SyncProducer to check for MessageSizeTooLargeCode in response.
                
> Check max message size on server instead of producer
> ----------------------------------------------------
>
>                 Key: KAFKA-490
>                 URL: https://issues.apache.org/jira/browse/KAFKA-490
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 0.8
>            Reporter: Swapnil Ghike
>            Assignee: Swapnil Ghike
>              Labels: bug
>             Fix For: 0.8
>
>         Attachments: kafka-490-v1.patch
>
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> Message size is checked currently only in SyncProducer and not at the server. 
> Therefore, non-java clients can push bigger messages to the server. Need a 
> message size check at the server. Can remove the check from producer side 
> since server can send acks in 0.8.

--
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

Reply via email to