Yue Ma created FLINK-37419: ------------------------------ Summary: ForStMapState serializeValue may get wrong result Key: FLINK-37419 URL: https://issues.apache.org/jira/browse/FLINK-37419 Project: Flink Issue Type: Bug Components: Runtime / State Backends Affects Versions: 2.0.0 Reporter: Yue Ma Fix For: 2.0.0
When ForStMapState write some thing , the user value is directly serialized and written to the DB. But this may be problematic for two main reasons: * In {*}ForStSyncMapState{*}, _serializValueNullSensitive_ is called when executing put, which adds an extra boolean to determine if the value is null. This is inconsistent with the behavior of *ForStMapState* and may result in inconsistent errors when switching async. * In the scenario of using ttl, *ForStMapState* will use {code:java} config=FlinkCompactionFilter Config.createForMap(ttl, queryTimeAfterNumEntries); {code} This config is used to configure the compactFilter, which also means that the compactFilter timestampOffset for ForStMapState is 1. If ForStMapState is written in the current way without a boolean, some errors may occur during data cleaning by the compactFilter -- This message was sent by Atlassian Jira (v8.20.10#820010)