Just to close the loop on this for the mailing list: after discussion
with Matthias Sax on Slack, I created this issue:
https://issues.apache.org/jira/browse/KAFKA-8650.

Regards,
Raman

On Tue, Jul 9, 2019 at 12:43 PM Raman Gupta <rocketra...@gmail.com> wrote:
>
> I have a stream that is configured for exactly-once processing. I set
> the "auto.offset.reset" of this stream to "none" for two reasons:
>
> 1) If an exactly-once stream loses its offset for some reason, using
> either of earliest or latest is dangerous: "earliest" implies
> reprocessing data, and "latest" may result in skipped messages. Using
> "none" allows the ops team to investigate the situation and set the
> offsets explicitly.
>
> 2) For a topic migration e.g. t-v1 -> t-v2, my exactly once stream
> needs to stop reading from t-v1, and start reading from some
> particular offset in t-v2 that corresponds to the message after the
> last message the previous stream consumed in t-v1. To be safe, I want
> my system to fail if the offset for t-v2 has not been set explicitly,
> so again, neither "earliest" nor "latest" are an appropriate setting
> here.
>
> However, when using "none", even if the offset has been set explicitly
> via the application reset tool, the streams client stills throw an
> exception on startup: `NoOffsetForPartitionException` for an internal
> repartition topic. This seems like a nasty bug / leaky abstraction:
> the consumer offsets, and policy on auto.offset.reset for an internal
> topic should not be controlled or affected by the user-configured
> policy for input topics.
>
> Or am I missing something here?
>
> Regards,
> Raman

Reply via email to