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)