[
https://issues.apache.org/jira/browse/FLINK-17699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stephan Ewen resolved FLINK-17699.
----------------------------------
Resolution: Fixed
Fixed in 1.11.0 via
- 939625f2c84bdce6872548d3df672f492e33a704
> Reduce scope for SourceOperator arguments and initialize more eagerly
> ---------------------------------------------------------------------
>
> Key: FLINK-17699
> URL: https://issues.apache.org/jira/browse/FLINK-17699
> Project: Flink
> Issue Type: Sub-task
> Components: API / DataStream
> Reporter: Stephan Ewen
> Assignee: Stephan Ewen
> Priority: Minor
> Fix For: 1.11.0
>
>
> Currently, the {{SourceOperator}} only gets a {{Source}} in the constructor.
> All actual components that the {{SourceOperator}} relies on when working are
> lazily initialized, in {{open()}} or via setters.
> Relying on something as broad as {{Source}} also means that a lot of
> redundant context has to be provided to the {{SourceOperator}} during
> initialization. The {{Source}} is, for example, also responsible for the
> {{SourceEnumerator}}, which is independent of the {{SourceOperator}}.
> However, it needs to be considered during testing, now, because the tests
> need to mock a full {{Source}} in order to instantiate a {{SourceOperator}}.
> The solution is to directly pass the collaborators of the {{SourceOperator}}
> directly eagerly into the constructor. It is not fully possible with the
> {{SourceReader}}, but for that we can at least reduce the scope by passing a
> targeted factory function.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)