[
https://issues.apache.org/jira/browse/FLINK-9036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16409222#comment-16409222
]
ASF GitHub Bot commented on FLINK-9036:
---------------------------------------
Github user StephanEwen commented on a diff in the pull request:
https://github.com/apache/flink/pull/5735#discussion_r176340672
--- Diff:
flink-core/src/main/java/org/apache/flink/api/common/state/FoldingStateDescriptor.java
---
@@ -55,7 +55,7 @@
* @param typeClass The type of the values in the state.
*/
public FoldingStateDescriptor(String name, ACC initialValue,
FoldFunction<T, ACC> foldFunction, Class<ACC> typeClass) {
- super(name, typeClass, initialValue);
+ super(name, typeClass, DefaultValueFactory.create(typeClass,
requireNonNull(initialValue)));
this.foldFunction = requireNonNull(foldFunction);
--- End diff --
I had to remove the `checkNotNull()` all together, because `null` is
actually a valid initial value.
> Add default value via suppliers
> -------------------------------
>
> Key: FLINK-9036
> URL: https://issues.apache.org/jira/browse/FLINK-9036
> Project: Flink
> Issue Type: Improvement
> Components: State Backends, Checkpointing
> Reporter: Stephan Ewen
> Assignee: Stephan Ewen
> Priority: Major
> Fix For: 1.6.0
>
>
> Earlier versions had a default value in {{ValueState}}. We dropped that,
> because the value would have to be duplicated on each access, to be safe
> against side effects when using mutable types.
> For convenience, we should re-add the feature, but using a supplier/factory
> function to create the default value on access.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)