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

Gary Yao commented on FLINK-13880:
----------------------------------

That's not the only affected method in {{JobExecutionResult}}. 

Is it legal for a user accumulator to return {{null}}? If yes, I think the 
implementation of {{OptionalFailure}} is problematic – {{getUnchecked()}} will 
throw {{NullPointerException}}.

> The behavior of JobExecutionResult.getAccumulatorResult does not match its 
> java doc
> -----------------------------------------------------------------------------------
>
>                 Key: FLINK-13880
>                 URL: https://issues.apache.org/jira/browse/FLINK-13880
>             Project: Flink
>          Issue Type: Bug
>          Components: Runtime / Coordination
>            Reporter: Caizhi Weng
>            Priority: Minor
>
> The java doc of `JobExecutionResult.getAccumulatorResult` states that 
> "Returns \{@code null}, if no accumulator with that name was produced", but 
> actually an NPE will be triggered if no accumulator with that name is 
> produced.
> I'm going to rewrite the `getAccumulatorResult` method to the following:
> {code:java}
> public <T> T getAccumulatorResult(String accumulatorName) {
>    OptionalFailure<Object> result = 
> this.accumulatorResults.get(accumulatorName);
>    if (result != null) {
>       return (T) result.getUnchecked();
>    } else {
>       return null;
>    }
> }
> {code}
> Please assign this issue to me if this solution is acceptable.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to