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)