You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Jason Gustafson (JIRA)" <ji...@apache.org> on 2018/02/18 07:59:00 UTC

[jira] [Resolved] (KAFKA-6099) Seeking consumer to evicted offset resets the offset

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