KAFKA-20497: Add readOnly(IsolationLevel) to CachingSessionStore#22313
Merged
bbejeck merged 2 commits intoMay 29, 2026
Conversation
Contributor
Author
|
A label of 'needs-attention' was automatically added to this PR in order to raise the |
bbejeck
approved these changes
May 28, 2026
bbejeck
left a comment
Member
There was a problem hiding this comment.
Thanks for the PR @nicktelford LGTM - with a couple of nit comments
Member
|
@nicktelford looks like the same issue is present here, can you force-push? |
The cache holds uncommitted writes that must not be visible under READ_COMMITTED, so that isolation level bypasses the cache entirely and delegates straight to the inner store's readOnly view. READ_UNCOMMITTED requires a merged view of both cache and store, so a ReadOnlyView inner class is introduced. The session fetch methods are extracted into *Internal helpers parameterised by the underlying store, allowing the view to share the same cache-merge logic (PeekingKeyValueIterator + HasNextCondition filtering) without duplication. KAFKA-20497 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
48bb784 to
79aec3c
Compare
Contributor
Author
I've rebased against trunk and pushed a fix for the long argument lists. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The cache holds uncommitted writes that must not be visible under
READ_COMMITTED, so that isolation level bypasses the cache entirely and
delegates straight to the inner store's readOnly view. READ_UNCOMMITTED
requires a merged view of both cache and store, so a ReadOnlyView inner
class is introduced. The session fetch methods are extracted into
*Internal helpers parameterised by the underlying store, allowing the
view to share the same cache-merge logic (PeekingKeyValueIterator +
HasNextCondition filtering) without duplication.
KAFKA-20497
Reviewers: Bill Bejeck bbejeck@apache.org