You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Gary Yao (Jira)" <ji...@apache.org> on 2019/10/11 09:40:00 UTC
[jira] [Commented] (FLINK-13880) The behavior of
JobExecutionResult.getAccumulatorResult does not match its java doc
[ 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)