> 1) Does the state in the process window function qualify as KeyedState or OperatorState?
> We want to be able to rehydrate the guava cache at the beginning of each window by making an external rest call and clear the cache at the end of that respective window. How can we enforce this behaviour in Flink?
Why do you want to clear cache after window if the cache is shared across all keys. Do you want to load cache per key?
If you want to aggregate elements incrementally, I think it is hard to get start and end in `ProcessWindowFunction` or in `IncrementalAggregation` function. However, I think we can get start and end in the trigger function, i.e., do cache load and clear in the trigger function.