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

Reply via email to