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)