[
https://issues.apache.org/jira/browse/FLINK-3777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15253820#comment-15253820
]
ASF GitHub Bot commented on FLINK-3777:
---------------------------------------
Github user fhueske commented on the pull request:
https://github.com/apache/flink/pull/1903#issuecomment-213399764
Hi @fpompermaier, I thought about this again. I don't think it is a good
idea to tie `closeInputFormat()` to `configure()` because `configure()` is
called at different places such as the JobManager and in the optimizer to
retrieve statistics. Hence, it is not a good idea to open resources in
`configure()`.
We should rather add a `openInputFormat()` method to `RichInputFormat()`
which is called directly before `open()`. Would you add such a method and
remove the unnecessary `closeInputFormat()` calls, and tests that check that
`openInputFormat()` and `closeInputFormat()` are correctly called in the life
cycle of a RichInputFormat?
Sorry for not thinking about this earlier. Thanks, Fabian
> Add open and close methods to manage IF lifecycle
> -------------------------------------------------
>
> Key: FLINK-3777
> URL: https://issues.apache.org/jira/browse/FLINK-3777
> Project: Flink
> Issue Type: Improvement
> Components: Core
> Affects Versions: 1.0.1
> Reporter: Flavio Pompermaier
> Assignee: Flavio Pompermaier
> Labels: inputformat, lifecycle
>
> At the moment the opening and closing of an inputFormat are not managed,
> although open() could be (improperly IMHO) simulated by configure().
> This limits the possibility to reuse expensive resources (like database
> connections) and manage their release.
> Probably the best option would be to add 2 methods (i.e. openInputformat()
> and closeInputFormat() ) to RichInputFormat*
> * NOTE: the best option from a "semantic" point of view would be to rename
> the current open() and close() to openSplit() and closeSplit() respectively
> while using open() and close() methods for the IF lifecycle management, but
> this would cause a backward compatibility issue...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)