You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Yue Ma (Jira)" <ji...@apache.org> on 2025/03/04 13:01:00 UTC

[jira] [Created] (FLINK-37419) ForStMapState serializeValue may get wrong result

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)