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)

Reply via email to