GitHub user GJL opened a pull request: https://github.com/apache/flink/pull/5194
[FLINK-8233][flip6] Add JobExecutionResultHandler ## What is the purpose of the change *Allow retrieval of the JobExecutionResult cached in Dispatcher via HTTP. This will be needed so that accumulator results can be transmitted to the client.* This PR is based on #5184. ## Brief change log - *Add `JobExecutionResultHandler` to enable retrieval of `JobExecutionResult`.* - *Add serializer and deserializer for `JobExecutionResult`* ## Verifying this change This change added tests and can be verified as follows: - *Added unit tests for all new and changed classes.* - *Manually ran the WordCount example job and fetched the `JobExecutionResult` with `curl`* ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (yes / **no**) - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (yes / **no**) - The serializers: (yes / **no** / don't know) - The runtime per-record code paths (performance sensitive): (yes / **no** / don't know) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / **no** / don't know) - The S3 file system connector: (yes / **no** / don't know) ## Documentation - Does this pull request introduce a new feature? (yes / **no**) - If yes, how is the feature documented? (**not applicable** / docs / JavaDocs / not documented) CC: @tillrohrmann You can merge this pull request into a Git repository by running: $ git pull https://github.com/GJL/flink FLINK-8233-2 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/5194.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 #5194 ---- commit e91f15fcbbe52d6d47cc1ba3d35ae4768fc6309d Author: gyao <gary@...> Date: 2017-12-19T17:58:53Z [FLINK-8234][flip6] Cache JobExecutionResult in Dispatcher - Introduce new JobExecutionResult used by JobMaster to forward the information in the already existing JobExecutionResult. - Always cache a JobExecutionResult. Even in case of job failures. In case of job failures, the serialized exception is stored additionally. - Introduce new methods to RestfulGateway to allow retrieval of cached JobExecutionResults commit 748745ac3521a20040cbda4056dfd9c53bc24a82 Author: gyao <gary@...> Date: 2017-12-20T13:44:03Z [FLINK-8233][flip6] Add JobExecutionResultHandler - Allow retrieval of the JobExecutionResult cached in Dispatcher. - Implement serializer and deserializer for JobExecutionResult. commit adf091a2770f42d6f8a0c19ab88cc7a208943a32 Author: gyao <gary@...> Date: 2017-12-20T13:44:26Z [hotfix] Clean up ExecutionGraph - Remove unnecessary throws clause. - Format whitespace. ---- ---