Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.2.0
-
None
Description
Current state store API has a bunch of problems that causes too many transient objects causing memory pressure.
- StateStore.get() returns Options which forces creation of Some/None objects for every get
- StateStore.iterator() returns tuples which forces creation of new tuple for each record returned
- StateStore.updates() requires the implementation to keep track of updates, while this is used minimally (only by Append mode in streaming aggregations). This can be totally removed.
Attachments
Issue Links
- links to