GitHub user tillrohrmann opened a pull request:
https://github.com/apache/flink/pull/5225
[FLINK-8339] [flip6] Let CustomCommandLine return ClusterDescriptor
## What is the purpose of the change
Instead of directly retrieving or deploying a Flink cluster, the
CustomCommandLine now only returns a ClusterDescriptor which can be used
for these operations. This disentangles the ClusterDescriptor and the
CustomCommandLine a bit better supporting a proper lifecycle management
of the former.
This PR is based on #5224.
## Brief change log
- Remove indirection that `CustomCommandLines` can retrieve and deploy
Flink clusters
- Let `CustomCommandLine` return `ClusterDescriptor`
- Adapt command methods in `CliFrontend` to use the `ClusterDescriptor`
instead
## Verifying this change
- Covered by existing tests
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): (no)
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: (no)
- The serializers: (no)
- The runtime per-record code paths (performance sensitive): (no)
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes)
- The S3 file system connector: (no)
## Documentation
- Does this pull request introduce a new feature? (no)
- If yes, how is the feature documented? (not applicable)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/tillrohrmann/flink
createClusterDescriptorFactory
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/5225.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #5225
----
commit c48324702b0ebff3fd7a16e480ead90fc4c9a30b
Author: Till Rohrmann <trohrmann@...>
Date: 2017-12-07T12:57:24Z
[FLINK-8328] [flip6] Move Yarn ApplicationStatus polling out of
YarnClusterClient
Introduce YarnApplicationStatusMonitor which does the Yarn
ApplicationStatus polling in
the FlinkYarnSessionCli. This decouples the YarnClusterClient from the
actual communication
with Yarn and, thus, gives a better separation of concerns.
commit 783bd1daf36b34a74cbe718a52a1043ba38d5a44
Author: Till Rohrmann <trohrmann@...>
Date: 2017-12-20T15:43:21Z
[FLINK-8329] [flip6] Move YarnClient to AbstractYarnClusterDescriptor
Moves the YarnClient from the YarnClusterClient to the
AbstractYarnClusterDescriptor.
This makes the latter responsible for the lifecycle management of the
client and gives
a better separation of concerns.
commit 192adb786a48d19b71e797355500652d51de6296
Author: Till Rohrmann <trohrmann@...>
Date: 2017-12-18T17:59:30Z
[FLINK-8332] [flip6] Move savepoint dispose into ClusterClient
Move the savepoint disposal logic from the CliFrontend into the
ClusterClient. This gives
a better separation of concerns and allows the CliFrontend to be used with
different
ClusterClient implementations.
commit a73b6e2850d4b2445a835914ba570d1057e59dfb
Author: Till Rohrmann <trohrmann@...>
Date: 2018-01-02T06:42:18Z
[FLINK-8333] [flip6] Separate deployment options from command options
This commit separates the parsing of command options and deployment options
into two
steps. This makes it easier to make the CustomCommandLines non-static.
Moreover, this commit moves the CliFrontend into the cli sub package.
commit e32fa9d4eb45bfac2d13ab112f127be29d273ebd
Author: Till Rohrmann <trohrmann@...>
Date: 2018-01-02T06:59:34Z
[FLINK-8338] [flip6] Make CustomCommandLines non static in CliFrontend
This commit changes how CustomCommandLines are registered at the
CliFrontend.
Henceforth, the CliFrontend is initialized with the set of
CustomCommandLines
instead of registering them statically. This improves maintainability and
testability.
commit 7972fff6e574f53b057eef6e5326d97f1129af66
Author: Till Rohrmann <trohrmann@...>
Date: 2018-01-02T08:22:12Z
[FLINK-8339] [flip6] Let CustomCommandLine return ClusterDescriptor
Instead of directly retrieving or deploying a Flink cluster, the
CustomCommandLine now only returns a ClusterDescriptor which can be used
for these operations. This disentangles the ClusterDescriptor and the
CustomCommandLine a bit better supporting a proper lifecycle management
of the former.
----
---