You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Chesnay Schepler (JIRA)" <ji...@apache.org> on 2018/09/06 09:18:00 UTC
[jira] [Created] (FLINK-10294) Split MiniClusterResource to be
usable in runtime/streaming-java/clients
Chesnay Schepler created FLINK-10294:
----------------------------------------
Summary: 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
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)