You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Jay Kreps (Updated) (JIRA)" <ji...@apache.org> on 2011/11/01 05:34:32 UTC

[jira] [Updated] (KAFKA-171) Kafka producer should do a single write to send message sets

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

Jay Kreps updated KAFKA-171:
----------------------------

    Attachment: KAFKA-171-v2.patch

I actually don't think we should make the writeTo method return a long since we use 4 byte ints in the protocol to delimit size of request so we really can't take a buffer > Int.MaxValue. I added a check on this to avoid an overflow if the size is > Int.MaxValue - 4, which is unlikely but possible.
                
> Kafka producer should do a single write to send message sets
> ------------------------------------------------------------
>
>                 Key: KAFKA-171
>                 URL: https://issues.apache.org/jira/browse/KAFKA-171
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.7, 0.8
>            Reporter: Jay Kreps
>            Assignee: Jay Kreps
>             Fix For: 0.8
>
>         Attachments: KAFKA-171-draft.patch, KAFKA-171-v2.patch, KAFKA-171.patch
>
>
> From email thread: 
> http://mail-archives.apache.org/mod_mbox/incubator-kafka-dev/201110.mbox/%3cCAFbh0Q1PYUj32thBaYQ29E6J4wT_mrG5SuUsfdeGWj6rmEx9Gw@mail.gmail.com%3e
> > Before sending an actual message, kafka producer do send a (control) message of 4 bytes to the server. Kafka producer always does this action before send some message to the server.
> I think this is because in BoundedByteBufferSend.scala we do essentially
>  channel.write(sizeBuffer)
>  channel.write(dataBuffer)
> The correct solution is to use vector I/O and instead do
>  channel.write(Array(sizeBuffer, dataBuffer))

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira