Skip to content

Conversation

@nicktelford
Copy link
Contributor

Instead of reading Task state offsets for non-open Tasks from the .checkpoint file, we now maintain an in-memory cache of the latest changelog offsets for every Task on the instance.

On start-up, this cache is seeded with the changelog offsets for every on-disk StateStore. Running Active and Standby Tasks then update this cache on every checkpoint to ensure it always reflects the offsets on-disk.

This breaks the tight coupling between TaskManager and .checkpoint files, which will enable us to remove .checkpoint files in a later commit as part of KIP-1035.

Instead of reading Task state offsets for non-open Tasks from the
`.checkpoint` file, we now maintain an in-memory cache of the latest
changelog offsets for every Task on the instance.

On start-up, this cache is seeded with the changelog offsets for every
on-disk StateStore. Running Active and Standby Tasks then update this
cache on every checkpoint to ensure it always reflects the offsets
on-disk.

This breaks the tight coupling between `TaskManager` and `.checkpoint`
files, which will enable us to remove `.checkpoint` files in a later
commit as part of KIP-1035.
@github-actions github-actions bot added triage PRs from the community streams labels Nov 21, 2025
@nicktelford
Copy link
Contributor Author

@ableegoldman @mjsax @cadonna I had some time to pick this up, so I've rebased it against trunk and re-submitted it.

@github-actions
Copy link

A label of 'needs-attention' was automatically added to this PR in order to raise the
attention of the committers. Once this issue has been triaged, the triage label
should be removed to prevent this automation from happening again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant