Igniters, I was thinking about improving Ignite window processing support so that queries for windowed data is not user-initiated (which can have timing issues) but rather event-driven, similar to ContinuousQuery but being able to fire size-based or time-based entry windows to the listening client. Some thougths on implementation:1. Guarantee all window events go to the same partition (user will need to specify it as a windowed cache). Maybe it can be rather implemented by extending IgniteQueue?2. Set a trigger on cache, which will listen to eviction (in case of size-based windowed cache) or expiration (time-based cache) events of the cache and fire entries. It has to be exposed to the user by some API, very roughly something likeIgniteStream<K,V> is = IgniteStream.on(cache).with(windowingType, filterPredidate).aggregate(aggFunc)is.run() // to continuously return windowed results where windowingType is time/size/session-based windows, aggFunc is sum/min/max/etc. or user-specified. It can be an experimental feature and I think it is a useful API to enforce our stream processing, but I would like to know your opinion. Do you think such API is needed? I have a limited knowledge of Ignite internals -- any other ideas on the implementation? For your reference, https://flink.apache.org/news/2015/12/04/Introducing-windows.html is a good introduction on windows processing. -Roman
P.S. Other things like operator/event/ingress time but has to be considered for the implementation are omitted.