You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Jark Wu (Jira)" <ji...@apache.org> on 2021/01/19 10:39:00 UTC

[jira] [Created] (FLINK-21027) Add isKeyValueImmutable() method to KeyedStateBackend interface

Jark Wu created FLINK-21027:
-------------------------------

             Summary: Add isKeyValueImmutable() method to KeyedStateBackend interface
                 Key: FLINK-21027
                 URL: https://issues.apache.org/jira/browse/FLINK-21027
             Project: Flink
          Issue Type: Improvement
          Components: Runtime / State Backends
            Reporter: Jark Wu


In Table/SQL operators, we have some optimizations that reuse objects of keys and records. For example, we buffer input records in {{BytesMultiMap}} and use the reused object to map to the underlying memory segment to reduce bytes copy. 

However, if we put the reused key and value into Heap statebackend, the result will be wrong, because it is not allowed to mutate keys and values in Heap statebackend. 

Therefore, it would be great if {{KeyedStateBackend}} can expose such API, so that Table/SQL can dynamically decide whether to copy the keys and values before putting into state. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)