lh0156 opened a new pull request, #23027: URL: https://github.com/apache/kafka/pull/23027
### Problem The plain and timestamped window-store adapters used for header-aware compatibility directly implemented `WindowStore` and kept their delegates in private fields. As a result, the adapters terminated the standard `WrappedStateStore` chain: `wrapped()`, `findInner()`, and recursive store-type inspection could not see the underlying store. ### Solution - Make both window-store adapters extend `WrappedStateStore`. - Route existing delegation through the inherited `wrapped()` contract without changing value-format conversions. - Update time-ordered-store detection to use `wrapped()` instead of adapter-specific delegate state. - Add regression tests for direct wrapping, inner-store discovery, and timestamped-store detection. ### Testing - RED: the new chain tests failed against the baseline at test compilation because neither adapter exposed `wrapped()` or `findInner()`. - GREEN: both adapter test classes pass, including all existing query and execution-info tests. - `./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:check` completed 9,298 tests with one timeout in `CustomStickyTaskAssignorTest.largeAssignmentShouldTerminateWithinAcceptableTime` under the `balance_subtopology` strategy; 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 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
