kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jun Rao (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-546) Fix commit() in zk consumer for compressed messages
Date Fri, 02 Nov 2012 15:23:12 GMT

    [ https://issues.apache.org/jira/browse/KAFKA-546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13489481#comment-13489481
] 

Jun Rao commented on KAFKA-546:
-------------------------------

Can't see to apply the patch cleanly to 0.8. Could you rebase?

$ patch -p0 < ~/Downloads/kafka-546-v1.patch 
patching file core/src/test/scala/unit/kafka/consumer/ConsumerIteratorTest.scala
patching file core/src/main/scala/kafka/message/ByteBufferMessageSet.scala
Reversed (or previously applied) patch detected!  Assume -R? [n] ^C

                
> Fix commit() in zk consumer for compressed messages
> ---------------------------------------------------
>
>                 Key: KAFKA-546
>                 URL: https://issues.apache.org/jira/browse/KAFKA-546
>             Project: Kafka
>          Issue Type: New Feature
>    Affects Versions: 0.8
>            Reporter: Jay Kreps
>            Assignee: Swapnil Ghike
>         Attachments: kafka-546-v1.patch
>
>
> In 0.7.x and earlier versions offsets were assigned by the byte location in the file.
Because it wasn't possible to directly decompress from the middle of a compressed block, messages
inside a compressed message set effectively had no offset. As a result the offset given to
the consumer was always the offset of the wrapper message set.
> In 0.8 after the logical offsets patch messages in a compressed set do have offsets.
However the server still needs to fetch from the beginning of the compressed messageset (otherwise
it can't be decompressed). As a result a commit() which occurs in the middle of a message
set will still result in some duplicates.
> This can be fixed in the ConsumerIterator by discarding messages smaller than the fetch
offset rather than giving them to the consumer. This will make commit work correctly in the
presence of compressed messages (finally).

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

Mime
View raw message