Hi Devs, I'm reviewing state managers and noticed that ProcessorStateManager has registerGlobalStateStores method that is used exclusively when StreamTask is created [1] (that seems a bit weird given global state stores are GlobalStateManagerImpl's actually).
That leads to another question about AbstractStateManager and its two internal registries stores and globalStores that seem to be managed by ProcessorStateManager and GlobalStateManagerImpl, respectively (except the above case when ProcessorStateManager deals with global state store). Two questions then: 1. Why does ProcessorStateManager do registerGlobalStateStores and register global state stores (since they are registered and managed elsewhere if there are global state stores in use)? 2. Why does AbstractStateManager have stores and globalStores since they should really be in ProcessorStateManager and GlobalStateManagerImpl, respectively? There must be something I don't understand yet and hence the questions. Please help. Thanks. [1] https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamTask.java#L240 Pozdrawiam, Jacek Laskowski ---- https://about.me/JacekLaskowski Mastering Spark SQL https://bit.ly/mastering-spark-sql Spark Structured Streaming https://bit.ly/spark-structured-streaming Mastering Kafka Streams https://bit.ly/mastering-kafka-streams Follow me at https://twitter.com/jaceklaskowski