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