Sure, you can use a non-cached state. However, if you write code like below for a non-cached state, and learn about caching later on, and think, caching is a cool feature, I want to use it, you would simply want to enable caching (without breaking your code).
Processor code should always work independently if caching is enabled or not. -Matthias On 09/04/2016 06:56 PM, Eno Thereska wrote: > Hi Matthias, > > Thanks for the good questions. > > There is still the option of not using cached state. If one uses cached state > it will dedup for stores and forwarding further. But you can always disable > caching and do what you say. > > Eno > >> On 4 Sep 2016, at 17:36, Matthias J. Sax <matth...@confluent.io> wrote: >> >> Sorry for not being precise. What I meant be "completely" is for a >> single processor. Assume I want to have the following pattern: >> >> process(...) { >> if (someCondition) { >> state.put(...) >> context.forward(...); >> } else { >> context.forward(...); >> } >> >> Ie, for some record I do update the state and emit output records, for >> other records I only emit output records. This work in current design. >> However, if a "cached state" would be used, it would not work any more. >> >> >> -Matthias >> >> On 09/04/2016 05:58 PM, Damian Guy wrote: >>> Hi Matthias, >>> >>> Thanks for bringing the conversation across to the thread. >>> >>> I think a main limitation would be, that you cannot mix the 4 patterns >>>> within a single application anymore (iff you use a "caches state"). If >>>> you have processor with a "cached state" this disables direct usage of >>>> context.forward() completely -- if I understand the design correctly. >>>> Thus, if a "cached state" is used, forwarding is only possible via state >>>> updates. >>>> >>>> >>> The above statement is not correct. Caching doesn't completely disable >>> forwarding, it only disables it for Processors that are using State Stores. >>> In all other cases context.forward() works as it does now. >>> >>> Thanks, >>> Damian >>> >> >
signature.asc
Description: OpenPGP digital signature