[
https://issues.apache.org/jira/browse/FLINK-15424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17755777#comment-17755777
]
Hangxiang Yu commented on FLINK-15424:
--------------------------------------
Hi, [~klion26]
I saw this problem still exists.
Just kindly ping. Are you still working on this ?
> Make all AppendingState#add respect the java doc
> ------------------------------------------------
>
> Key: FLINK-15424
> URL: https://issues.apache.org/jira/browse/FLINK-15424
> Project: Flink
> Issue Type: Bug
> Components: API / DataStream, Runtime / State Backends
> Affects Versions: 1.8.3, 1.9.1
> Reporter: Congxian Qiu
> Priority: Not a Priority
> Labels: auto-deprioritized-major, auto-deprioritized-minor,
> auto-unassigned, pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Currently, We have a java doc in
> {{[AppendingState#add|https://github.com/apache/flink/blob/52fdee1d0c7af24d25c51caa073e29f11b07210b/flink-core/src/main/java/org/apache/flink/api/common/state/AppendingState.java#L63]}}
> {code:java}
> <p> If null is passed in, the state value will remain unchanged.{code}
> but currently, the implementation did not respect this, take
> {{HeapReducingState}} as an example, we'll clear the state if the passed
> parameter is null
> {code:java}
> @Override
> public void add(V value) throws IOException {
> if (value == null) {
> clear();
> return;
> }
> try {
> stateTable.transform(currentNamespace, value, reduceTransformation);
> } catch (Exception e) {
> throw new IOException("Exception while applying ReduceFunction in
> reducing state", e);
> }
> }
> {code}
> But in {{RocksDBReducingState}} we would not clear the state, and put the
> null value into state if serializer can serialize null.
> {code:java}
> @Override
> public void add(V value) throws Exception {
> byte[] key = getKeyBytes();
> V oldValue = getInternal(key);
> V newValue = oldValue == null ? value : reduceFunction.reduce(oldValue,
> value);
> updateInternal(key, newValue);
> }
> {code}
> this issue wants to make all {{Appending}}State respect the javadoc of
> {{AppendingState}}, and return directly if the passed in parameter is null.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)