Hey Flink users, I wanted to see if I could get some insight on what the heap memory profile of my stream app should look like vs my expectation. My layout consists of a sequence of FlatMaps + Maps, feeding a pair of 5 minute TumblingEventTimeWindows, intervalJoined, into a 24 hour (per 5 minute) SlidingEventTimeWindow, then intervalJoined again, back into the first set of FlatMaps. The data flow works as expected, and the reports I am generated in the last join appear to be correct, and contain info from the 24 hour sliding window.
My understanding is that while all these windows build their memory state, I can expect heap memory to grow for the 24 hour length of the SlidingEventTimeWindow, and then start to flatten as the t-24hr window frames expire and release back to the JVM. What is actually happening is when a constant data source feeds the stream, the heap memory profile grows linearly past the 24 hour mark. Could this be a result of a misunderstanding of how the window’s memory states are kept, or is my assumption correct, and it is more likely I have a leak somewhere? Thanks as always Chris