[ https://issues.apache.org/jira/browse/KAFKA-1744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14201365#comment-14201365 ]
Neha Narkhede commented on KAFKA-1744: -------------------------------------- [~eapache] I'm assuming that you are referring to a non-java consumer right? We would always want to do this in the java consumer, so it's worth fixing the docs. Can you point me to the spec where you found this? > 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)