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

Reply via email to