KAFKA-20875: Preserve wrapped-store chains in window adapters - #23027
Closed
lh0156 wants to merge 1 commit into
Closed
KAFKA-20875: Preserve wrapped-store chains in window adapters#23027lh0156 wants to merge 1 commit into
lh0156 wants to merge 1 commit into
Conversation
Make the plain and timestamped window-store header adapters extend WrappedStateStore so store-chain inspection and inner-store discovery continue through the adapters. Keep the existing format conversions and update the time-ordered-store special cases to use the standard wrapped() contract. Generated-by: OpenAI Codex (GPT-5)
Contributor
|
Thanks for the patch. Please note that PR #23037 has been opened by the reporter and assignee of the JIRA issue. Please check that JIRA issues are not already assigned and have no existing PRs before throwing AI tooling at them. |
Author
|
Closing this duplicate contribution because PR #23037 was opened by the KAFKA-20875 reporter/assignee. No branch deletion. |
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.
Problem
The plain and timestamped window-store adapters used for header-aware compatibility directly implemented
WindowStoreand kept their delegates in private fields. As a result, the adapters terminated the standardWrappedStateStorechain:wrapped(),findInner(), and recursive store-type inspection could not see the underlying store.Solution
WrappedStateStore.wrapped()contract without changing value-format conversions.wrapped()instead of adapter-specific delegate state.Testing
wrapped()orfindInner()../gradlew :streams:test --tests org.apache.kafka.streams.state.internals.PlainToHeadersWindowStoreAdapterTest --tests org.apache.kafka.streams.state.internals.TimestampedToHeadersWindowStoreAdapterTest --no-build-cache --console=plain./gradlew :streams:test --tests org.apache.kafka.streams.state.internals.TimestampedWindowStoreWithHeadersBuilderTest --tests org.apache.kafka.streams.state.internals.TimeOrderedCachingPersistentWindowStoreTest --no-build-cache --console=plain:streams:checkcompleted 9,298 tests with one timeout inCustomStickyTaskAssignorTest.largeAssignmentShouldTerminateWithinAcceptableTimeunder thebalance_subtopologystrategy; the parameterized test passed for all three strategies when rerun in isolation. Checkstyle, Spotless, SpotBugs, Javadoc, and the public API checker passed.Fixes KAFKA-20875
Reviewers: Sean Quah squah@confluent.io