[ 
https://issues.apache.org/jira/browse/KAFKA-3229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15176570#comment-15176570
 ] 

Guozhang Wang commented on KAFKA-3229:
--------------------------------------

[~tom_dearman] Sorry my previous message was incorrect, indeed I meant {code} 
StateStore.init() {code} not {code} ProcessorContext.register() {code}, and I 
was not worrying about "users" but "developers" who, say, want to add a new 
state store implementation into it, whether it is more complex for them to 
reason about which store to use calling init(). Maybe I was over-thinking about 
programmability, but would like to bring it up so people can ponder whether it 
is worthwhile doing :)

> Root statestore is not registered with ProcessorStateManager, inner state 
> store is registered instead
> -----------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-3229
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3229
>             Project: Kafka
>          Issue Type: Bug
>          Components: kafka streams
>    Affects Versions: 0.10.0.0
>         Environment: MacOS El Capitan
>            Reporter: Tom Dearman
>            Assignee: Tom Dearman
>             Fix For: 0.10.0.0
>
>
> When the hierarchy of nested StateStores are created, init is called on the 
> root store, but parent StateStores such as  MeteredKeyValueStore just call 
> the contained StateStore until a store such as MemoryStore calls 
> ProcessorContext.register, but it passes 'this' to the method so only that 
> inner state store (MemoryStore in this case) is registered with 
> ProcessorStateManager.  As state is added to the store none of the parent 
> stores code will be called, metering, or even StoreChangeLogger to put the 
> state on the kafka topic.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to