Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an option for ignoring tombstone records while a get on VersionedKeyValueStore #18398

Open
wants to merge 8 commits into
base: trunk
Choose a base branch
from

Conversation

Armadindon
Copy link

@Armadindon Armadindon commented Jan 6, 2025

I added an option to the method org.apache.kafka.streams.state.VersionedKeyValueStore.get(K, long, boolean) to permit to find a record, while ignoring all tombstones records.
The find will search for previous record if we have a tombstone, and for the "validTo" field, the find method will search the first following "valid" record (ie. not a tombstone).

I've added 3 tests, 2 for RocksDBVersionedStore and 1 for PartiallyDeserializedSegment

Committer Checklist (excluded from commit message)

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation (including upgrade notes)

@github-actions github-actions bot added triage PRs from the community streams labels Jan 6, 2025
@Armadindon
Copy link
Author

Another option would be to permit to make an "actualDelete" in segments to delete record in store instead of putting a tombstone.
If needed, i can submit another PR with this approach

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
streams triage PRs from the community
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant