Hi Andrey,

> the answer is yes, it is backed by state backend (should be RocksDB if you 
> configure it),
> you can trace it through these method calls:
>
> sourceStream.keyBy(…)
> .timeWindow(Time.seconds(…))
> .trigger(CountTrigger.of(…))
> gives you WindowedStream,
> WindowedStream.aggregate(new MyAggFunc()) creates:
> new WindowOperator(windowStateDescriptor = new AggregatingStateDescriptor()),
> inside WindowOperator:
> WindowOperator.open() uses configured backend to create windowState,
> WindowOperator.processElement() uses windowState which is AggregatingState.

Thank you for the answer. This is great! It also confirms my
observation that the heap wasn’t growing indefinitely when I do this.

Ning

Reply via email to