agavra opened a new pull request, #14659: URL: https://github.com/apache/kafka/pull/14659
### Overview This PR sets up the necessary prerequisites to respect configurations such as `dsl.default.store.type` and the `dsl.store.suppliers.class` (introduced in #14648) without requiring them to be passed in to `StreamBuilder#new(TopologyConfig)` (passing them only into `new KafkaStreams(...)`. It essentially makes `StoreBuilder` an external-only API and internally it uses the `StoreFactory` equivalent. In a future PR, we will replace `KeyValueStoreMaterializer` with an implementation of `StoreFactory` that creates the store builder only after `configure()` is called. ### Testing There is no change in functionality for this PR ### Review Guide 1. Start with looking at `StoreFactory` and read the JavaDocs, this is an interface representing what used to be `InternalTopologyBuilder.StateStoreFactory` 2. Look at how `StoreBuilderWrapper` is what used to be the implementation of `InternalTopologyBuilder.StateStoreFactory` 3. Note that `InternalTopologyBuilder#addStateStore` now takes in a `StoreFactory` instead of a `StoreBuilder` from everywhere that uses the DSL. 4. The rest is piping that change around and wrapping `StoreBuilder` with `StoreBuilderWrapper`. In a future PR all `StoreBuilderWrappers` in the DSL will be replaced with a new one that respects the configurations passed in to `new KafkaStreams` ### Committer Checklist (excluded from commit message) - [ ] Verify design and implementation - [ ] Verify test coverage and CI build status - [ ] Verify documentation (including upgrade notes) -- 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: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org