flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Till Rohrmann (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-10294) Split MiniClusterResource to be usable in runtime/streaming-java/clients
Date Mon, 01 Oct 2018 12:48:00 GMT

    [ https://issues.apache.org/jira/browse/FLINK-10294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16633949#comment-16633949
] 

Till Rohrmann commented on FLINK-10294:
---------------------------------------

Alright, this makes sense. Maybe we could offer for the most common use case convenience classes
or alternatively document how to use them with the {{RuleChain}}.

> 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)

Mime
View raw message