Skip to content

KAFKA-20497: Add readOnly(IsolationLevel) to CachingSessionStore#22313

Merged
bbejeck merged 2 commits into
apache:trunkfrom
nicktelford:KIP-892/iq-isolation-caching-session
May 29, 2026
Merged

KAFKA-20497: Add readOnly(IsolationLevel) to CachingSessionStore#22313
bbejeck merged 2 commits into
apache:trunkfrom
nicktelford:KIP-892/iq-isolation-caching-session

Conversation

@nicktelford

@nicktelford nicktelford commented May 18, 2026

Copy link
Copy Markdown
Contributor

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

@nicktelford

Copy link
Copy Markdown
Contributor Author

@bbejeck

@github-actions github-actions Bot added triage PRs from the community streams labels May 18, 2026
@github-actions

Copy link
Copy Markdown

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.

@bbejeck bbejeck left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @nicktelford LGTM - with a couple of nit comments

@bbejeck

bbejeck commented May 28, 2026

Copy link
Copy Markdown
Member

@nicktelford looks like the same issue is present here, can you force-push?

nicktelford and others added 2 commits May 28, 2026 18:02
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>
@nicktelford nicktelford force-pushed the KIP-892/iq-isolation-caching-session branch from 48bb784 to 79aec3c Compare May 28, 2026 17:19
@nicktelford

Copy link
Copy Markdown
Contributor Author

@nicktelford looks like the same issue is present here, can you force-push?

I've rebased against trunk and pushed a fix for the long argument lists.

@github-actions github-actions Bot removed needs-attention triage PRs from the community labels May 29, 2026
@bbejeck bbejeck merged commit f672256 into apache:trunk May 29, 2026
23 checks passed
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.

2 participants