Github user StefanRRichter commented on a diff in the pull request:
https://github.com/apache/flink/pull/5465#discussion_r169099355
--- Diff:
flink-contrib/flink-statebackend-rocksdb/src/main/java/org/apache/flink/contrib/streaming/state/RocksDBMapState.java
---
@@ -319,6 +321,9 @@ private UV deserializeUserValue(byte[] rawValueBytes)
throws IOException {
/** The raw bytes of the value stored in RocksDB. */
private byte[] rawValueBytes;
+ /** The offset of User Key offset in raw key bytes. */
+ private final int userKeyOffset;
--- End diff --
This value is basically a constant on a per-backend level and we could
remember the value in the MapState itself, no need to replicate it into every
entry. It can then still be recalled from there for `deserializeUserKey(...)`.
---