[
https://issues.apache.org/jira/browse/FLINK-29557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17618052#comment-17618052
]
Aitozi commented on FLINK-29557:
--------------------------------
Thanks [~gaoyunhaii] for your reply. The {{OutputFormatProvider}} in the table
module will generate the {{SinkOperator}}. And the {{SinkOperator}} with
{{OutputFormatSinkFunction}} will not be treated as an operator with
{{OutputFormat}} in the {{SimpleOperatorFactory}}. In the end, it will miss the
chance to execute the hook method eg: {{InitializeOnMaster}}
> The SinkOperator's OutputFormat function is not recognized
> ----------------------------------------------------------
>
> Key: FLINK-29557
> URL: https://issues.apache.org/jira/browse/FLINK-29557
> Project: Flink
> Issue Type: Bug
> Components: API / Core, Table SQL / API
> Reporter: Aitozi
> Priority: Major
>
> In the {{SimpleOperatorFactory#of}}, only {{StreamSink}} is handled to
> register as {{SimpleOutputFormatOperatorFactory}}. So it will lost the output
> format information in {{SinkOperator}}. Then some hook functions like
> {{FinalizeOnMaster}} will have no chance to be executed.
> Due to the {{SinkOperator}} is in the table module, it can't be reached
> directly in the {{flink-streaming-java}}. So maybe we need introduce an extra
> common class eg: {{SinkFunctionOperator}} to describe the {{Sink}} operator
> and handle it individually.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)