GitHub user tillrohrmann opened a pull request: https://github.com/apache/flink/pull/5453
[FLINK-8634] [rest] Introduce job rescaling REST handler ## What is the purpose of the change Add rescaling REST handler as a sub class of the `AbstractAsynchronousOperationHandlers`. This PR is based on #5452 and #5451. ## 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: (no) - 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 rescalingHandlers Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/5453.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 #5453 ---- commit 8b052a62f91f5f3280d8706992e4dd1d2ffa35ab Author: Till Rohrmann <trohrmann@...> Date: 2018-02-09T13:07:31Z [FLINK-8626] Introduce BackPressureStatsTracker interface Renames BackPressureStatsTracker into BackPressureStatsTrackerImpl and introduce a BackPressureStatsTracker interface. This will make testing easier when we don't have to set up all the different components. commit adad653b38a3484ffd5ec56d5f8de846286c4f2a Author: Till Rohrmann <trohrmann@...> Date: 2018-02-01T13:37:15Z [hotfix] Fix checkstyle violations in ExecutionGraph commit fb7241a114439b95793bfc87bf2a653c019cde50 Author: Till Rohrmann <trohrmann@...> Date: 2018-02-01T17:04:06Z [FLINK-8627] Introduce new JobStatus#SUSPENDING to ExecutionGraph The new JobStatus#SUSPENDING says that an ExecutionGraph has been suspended but its clean up has not been done yet. Only after all Executions have been canceled, the ExecutionGraph will enter the SUSPENDED state and complete the termination future accordingly. commit 30d5b5e9f91923eb044755a1e53b200556007d80 Author: Till Rohrmann <trohrmann@...> Date: 2018-02-10T22:26:51Z fixup! [FLINK-8626] Introduce BackPressureStatsTracker interface commit 96a1d0af5b6ad886f64f3618fa065701d198a144 Author: Till Rohrmann <trohrmann@...> Date: 2018-02-01T15:14:53Z [FLINK-8546] [flip6] Respect savepoints and restore from latest checkpoints Let the JobMaster respect checkpoints and savepoints. The JobMaster will always try to restore the latest checkpoint if there is one available. Next it will check whether savepoint restore settings have been set. If so, then it will try to restore the savepoint. Only if these settings are not set, the job will be started from scratch. commit c33f3a8a31beb89863f86db5fbcc1726f2373efb Author: Till Rohrmann <trohrmann@...> Date: 2018-02-10T22:42:23Z [hotfix] [tests] Simplify JobMasterTest commit 2b7d24c67b32b4cb9c09162969012da2df5e5ae7 Author: Till Rohrmann <trohrmann@...> Date: 2018-02-01T13:37:37Z [FLINK-8629] [flip6] Allow JobMaster to rescale jobs This commit adds the functionality to rescale a job or parts of it to the JobMaster. In order to rescale a job, the JobMaster does the following: 1. Take a savepoint 2. Create a rescaled ExecutionGraph from the JobGraph 3. Initialize it with the taken savepoint 4. Suspend the old ExecutionGraph 5. Restart the new ExecutionGraph once the old ExecutionGraph has been suspended commit 5020bda48e7972c1474b341e81b0cce3ec645972 Author: Till Rohrmann <trohrmann@...> Date: 2018-02-09T12:11:50Z [FLINK-8633] [flip6] Expose rescaling of jobs via the Dispatcher This commit exposes the JobMaster#rescaleJob via the Dispatcher. This will allow it to call this functionality from a REST handler. commit 1242d36c669beb5dc77b84340fcabff1314d4321 Author: Till Rohrmann <trohrmann@...> Date: 2018-02-02T10:23:00Z [FLINK-8632] [flip6] Introduce generalized asynchronous operation handlers The asynchronous operation handlers are the generalization of the SavepointHandlers. They consist of a Trigger- and a StatusHandler. The TriggerHandler is used to trigger an asynchronous operation. The handler stores the operation future and returns a trigger id. The trigger id can be used to query the status of the operation via the StatusHandler. Once the operation has completed, the StatusHandler will return the result. commit c70e3906d6100cfa2ab2c11dfe0081ac3c58a71f Author: Till Rohrmann <trohrmann@...> Date: 2018-02-03T16:41:51Z [FLINK-8631] [rest] Add support for generic types to the RestClient This commit allows the Restclient to receive generic response types. In order to do this, the MessageHeaders contain now information about the generic type parameters of the response type. commit b39233bb8093d03b789e46b53af7687ebc99ff62 Author: Till Rohrmann <trohrmann@...> Date: 2018-02-02T10:06:35Z [FLINK-8634] [rest] Introduce job rescaling REST handler Add rescaling REST handler as a sub class of the AbstractAsynchronousOperationHandlers. ---- ---