[
https://issues.apache.org/jira/browse/FLINK-10294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16625556#comment-16625556
]
Chesnay Schepler commented on FLINK-10294:
------------------------------------------
Yeah I guess that would make things simpler, the cluster resource could be
exposed with a simple getter.
> Split MiniClusterResource to be usable in runtime/streaming-java/clients
> ------------------------------------------------------------------------
>
> Key: FLINK-10294
> URL: https://issues.apache.org/jira/browse/FLINK-10294
> Project: Flink
> Issue Type: Improvement
> Components: Tests
> Affects Versions: 1.7.0
> Reporter: Chesnay Schepler
> Assignee: Chesnay Schepler
> Priority: Major
> Fix For: 1.7.0
>
>
> h5. Problem
> The {{MiniClusterResource}} is a utility class to create and manage flink
> clusters for testing purposes. It is incredibly convenient, but unfortunately
> resides in {{flink-test-utils}} which depends on flink-runtime,
> flink-streaming-java and flink-clients, making the class not usable in these
> modules.
> The current version does require these dependencies, but only for specific,
> *optional*, parts. {{streaming-java}} is only required for accessing
> {{TestStreamEnvironment}} and {{flink-clients}} only for tests that want to
> work against a {{ClusterClient}}.
> h5. Proposal
> Split the {{MiniClusterResource}} as follows:
> h5. 1)
> Remove client/streaming-java dependent parts and move the class to
> flink-runtime.
> h5. 2)
> Add a new class {{StreamingMiniClusterResourceExtension}} that accepts a
> {{MiniClusterResource}} as an argument and contains the streaming parts.
> Usage would look like this:
> {code}
> private final MiniClusterResource cluster = ...
> private final StreamingMiniClusterResourceExtension ext = new
> StreamingMiniClusterResourceExtension(cluster);
> @Rule
> public RuleChain chain= RuleChain
> .outerRule(cluster)
> .around(ext),
> {code}
> h5. 3)
> Add a new class {{ClientMiniClusterResourceExtension}} that accepts a
> {{MiniClusterResource}} as an argument and contains the client parts.
> Usage would look like this:
> {code}
> private final MiniClusterResource cluster = ...
> private final ClientMiniClusterResourceExtensionext = new
> ClientMiniClusterResourceExtension(cluster);
> @Rule
> public RuleChain chain= RuleChain
> .outerRule(cluster)
> .around(ext),
> {code}
> [~till.rohrmann] WDYT?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)