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

Jason Gustafson resolved KAFKA-6099.
------------------------------------
    Resolution: Not A Problem

As pointed out by [~tomas.kralik], you should use auto.reset.policy=none. This 
will cause an {{InvalidOffsetException}} to be raised from {{poll()}} or 
{{position()}} after you have seeked to an offset which is no longer valid. 
Closing this issue for now, but feel free to reopen if you think there is still 
an issue.

> Seeking consumer to evicted offset resets the offset
> ----------------------------------------------------
>
>                 Key: KAFKA-6099
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6099
>             Project: Kafka
>          Issue Type: Bug
>          Components: consumer
>    Affects Versions: 0.11.0.1
>         Environment: Windows
>            Reporter: Viliam Durina
>            Priority: Major
>
> We use manual partition assignment and save the offsets to our storage. The 
> topic also has short "retention.ms" property. When we try to restart 
> consumption from an already evicted offset, the offset is reset according to 
> the "auto.offset.reset" property. That is:
> - if "latest" is configured, it only returns records that were inserted after 
> the `seek` call
> - if "earliest" is configured, it tries to restart at 0, which fails for the 
> same reason, because offset=0 is also evicted.
> Expected behavior is to report the situation with an exception, thrown from 
> either `seek()` or `poll()` call. The user will then be expected to 
> `seekToBeginning` or `seekToEnd` or to any other position.
> Another option is to restart at earliest available record, regardless of the 
> value of the "auto.offset.reset" property. However, this way the consumer has 
> no way of knowing that it missed some records it expected.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to