Normally gaps shouldn't happen with translation due to the enforcement
of max_collectible_offset. However the following sequence of actions can
create a gap.
This is an unfixable gap if compaction cleaned up an offset range
adjacent to last translated offset. The fix just plugs the gap by
adjusting the begin offset of the range that is to be committed with the
coordinator. This is a rare case but can result in a stuck translation
if it happens.
Backports Required
[ ] none - not a bug fix
[ ] none - this is a backport
[ ] none - issue does not exist in previous branches
[ ] none - papercut/not impactful enough to backport
Normally gaps shouldn't happen with translation due to the enforcement of max_collectible_offset. However the following sequence of actions can create a gap.
iceberg enabled iceberg disabled <-- compaction --> iceberg enabled
This is an unfixable gap if compaction cleaned up an offset range adjacent to last translated offset. The fix just plugs the gap by adjusting the begin offset of the range that is to be committed with the coordinator. This is a rare case but can result in a stuck translation if it happens.
Backports Required
Release Notes
none