Kezhu Wang created FLINK-21578:
----------------------------------

             Summary: Closeable Sink Committer/GlobalCommitter were created to 
function in onestep during job graph composition
                 Key: FLINK-21578
                 URL: https://issues.apache.org/jira/browse/FLINK-21578
             Project: Flink
          Issue Type: Improvement
          Components: API / DataStream
    Affects Versions: 1.13.0
            Reporter: Kezhu Wang


Normally, functions/operators are created in job graph composition phase for 
serialization and transmission. Them are "opened" in flink cluster to function. 
This two steps procedure succeed in that there will be no resource-cleanup 
requirement in job graph composition phase.

While {{Committer}} and {{GlobalCommitter}} has no such "open" operatin but 
they were created in job graph composition phase.

Following are fixes I could image if we converge to "this is problematic".
 # Add {{open}} or similar method for these two classes.
 # Add {{hasCommitter}}, {{hasGlobalCommitter}} to {{Sink}} and make 
{{createCommitter}} and others not optional(enforce this in runtime).

Personally, I am a bit preferring second approach for possible less code path 
touching in job graph composition phase. But first approach has advantage that 
it could be an no breaking change.

There might be other approaches though.

cc [~guoweima] [~gaoyunhaii]  [~aljoscha]  [~kkl0u]



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

Reply via email to