Piotr Nowojski created FLINK-40351:
--------------------------------------
Summary: Reduce heap footprint of RocksDBMapState's iterator
Key: FLINK-40351
URL: https://issues.apache.org/jira/browse/FLINK-40351
Project: Flink
Issue Type: Improvement
Components: Runtime / State Backends
Reporter: Piotr Nowojski
Assignee: Piotr Nowojski
{{RocksDBMapState.RocksDBMapEntry}} currently duplicates the RocksDB handle,
key/value serializers, key-prefix length, and {{DataInputDeserializer}} on
every single {{Map.Entry}} it produces, even though all of that is already
available on the enclosing RocksDBMapIterator that created it. For a key with
many entries, each buffered entry in the iterator's cache carries several
redundant object references.
Instead we can reuse the enclosing iterator's fields instead of duplicating
them per entry, and we can releases the deserialized raw value bytes once the
value has been read instead of keeping them alive for the entry's lifetime.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)