Github user StefanRRichter commented on the issue:
https://github.com/apache/flink/pull/5185
Just a thought, how about having all this implemented on top of a map
state, and also include the current size as a special entry in the map (with
the size field having a key that makes it lexicographically the first entry, so
that the iteration can easily skip it). Then we could have a util that wraps a
map state into a list state. So the user can register a map state and enhance
it to operate as a list state. From Flink's perspective it is still a map state
in savepoints and only the user code reinterprets it as list state. Obviously
this does not solve the problem of migrating between different list types, but
it also does need to introduce a second list type and keeps the window operator
as is.
---