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)

Reply via email to