You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Aljoscha Krettek (JIRA)" <ji...@apache.org> on 2017/09/14 14:45:00 UTC

[jira] [Commented] (FLINK-2646) Rich functions should provide a method "closeAfterFailure()"

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

Aljoscha Krettek commented on FLINK-2646:
-----------------------------------------

I thought about this and the new {{closeAfterFailure()}} should not actually call {{close()}} by default because this would force implementations that only want "close" behaviour, i.e. "close successfully", to also implement an empty {{closeAfterFailure()}} to prevent the default {{close()}} invocation. This can easily be forgotten and would lead to wrong results.

> Rich functions should provide a method "closeAfterFailure()"
> ------------------------------------------------------------
>
>                 Key: FLINK-2646
>                 URL: https://issues.apache.org/jira/browse/FLINK-2646
>             Project: Flink
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.10.0
>            Reporter: Stephan Ewen
>             Fix For: 1.0.0
>
>
> Right now, the {{close()}} method of rich functions is invoked in case of proper completion, and in case of canceling in case of error (to allow for cleanup).
> In certain cases, the user function needs to know why it is closed, whether the task completed in a regular fashion, or was canceled/failed.
> I suggest to add a method {{closeAfterFailure()}} to the {{RichFunction}}. By default, this method calls {{close()}}. The runtime is the changed to call {{close()}} as part of the regular execution and {{closeAfterFailure()}} in case of an irregular exit.
> Because by default all cases call {{close()}} the change would not be API breaking.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)