[
https://issues.apache.org/jira/browse/KAFKA-1744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14201425#comment-14201425
]
Evan Huus commented on KAFKA-1744:
----------------------------------
[~junrao] very nice stealth edit of the spec, thank you :)
That clarification is what I was looking for, this ticket can be closed.
> Fetch Response contains messages prior to the requested offset
> --------------------------------------------------------------
>
> Key: KAFKA-1744
> URL: https://issues.apache.org/jira/browse/KAFKA-1744
> Project: Kafka
> Issue Type: Bug
> Components: core
> Affects Versions: 0.8.1.1
> Reporter: Evan Huus
>
> As reported in https://github.com/Shopify/sarama/issues/166 there are cases
> where a FetchRequest for a particular offset returns some messages prior to
> that offset.
> The spec does not seem to indicate that this is possible; it does state that
> "As an optimization the server is allowed to return a partial message at the
> end of the message set." but otherwise implies that a request for offset X
> will only return complete messages starting at X.
> The scala consumer does seem to handle this case gracefully though, if I am
> reading it correctly (my scala is not the best):
> https://github.com/apache/kafka/blob/0.8.1/core/src/main/scala/kafka/consumer/ConsumerIterator.scala#L96-L99
> So is this a bug or just a case that needs to be added to the spec? Something
> like "As an optimization the server is allowed to return some messages in the
> message set prior to the requested offset. Clients should handle this case."?
> Although I can't imagine why sending extra data would be faster than only
> sending the necessary messages...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)