[ 
https://issues.apache.org/jira/browse/FLINK-9036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16407996#comment-16407996
 ] 

ASF GitHub Bot commented on FLINK-9036:
---------------------------------------

Github user sihuazhou commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5735#discussion_r176099489
  
    --- 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 think use `Preconditions. checkNotNull()` instead of `requireNonNull()` 
here is more consistence with the previous commit: `Make State Descriptors 
consistently use Preconditions…`.


> 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)

Reply via email to