[
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)