Evan Huus created KAFKA-1744: -------------------------------- Summary: 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)