fix(kafka): Read from beginning if no committed offset #14865
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
If there is no offset for a consumer group & partition, kafka returns
-1
which is a special offset for "latest". I am remapping this to-2
, which means replay from the start. By using -1, we would start consuming from the latest offset instead of replaying older data in the case where we start a new consumer group, and therefore the latest data would unavailable.I don't know if this affects environments with long-lived partition-ingesters, but if kafka expires or cleans up a consumer group after some time, we might trigger this on scale up to new partitions and the latest data would be unavailable.