[ 
https://issues.apache.org/jira/browse/KAFKA-1093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Manikumar resolved KAFKA-1093.
------------------------------
    Resolution: Invalid

relavent part of the code is not available now. So closing this now.

> Log.getOffsetsBefore(t, …) does not return the last confirmed offset before t
> -----------------------------------------------------------------------------
>
>                 Key: KAFKA-1093
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1093
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 0.8.0
>            Reporter: Swapnil Ghike
>            Assignee: Swapnil Ghike
>         Attachments: KAFKA-1093.patch
>
>
> Let's say there are three log segments s1, s2, s3.
> In Log.getoffsetsBefore(t, …), the offsetTimeArray will look like - 
> [(s1.start, s1.lastModified), (s2.start, s2.lastModified), (s3.start, 
> s3.lastModified), (logEndOffset, currentTimeMs)].
> Let's say s2.lastModified < t < s3.lastModified. getOffsetsBefore(t, 1) will 
> return Seq(s2.start).
> However, we already know s3.firstAppendTime (s3.created in trunk). So, if 
> s3.firstAppendTime < t < s3.lastModified, we should rather return s3.start. 
> This also resolves another bug wherein the log has only one segment and 
> getOffsetsBefore() returns an empty Seq if the timestamp provided is less 
> than the lastModified of the only segment. We should rather return the 
> startOffset of the segment if the timestamp is greater than the 
> firstAppendTime of the segment.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to