Github user tillrohrmann commented on a diff in the pull request: https://github.com/apache/flink/pull/4728#discussion_r141319310 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/webmonitor/RestfulGateway.java --- @@ -38,5 +44,36 @@ * @param timeout for this operation * @return Future REST endpoint address */ - CompletableFuture<String> requestRestAddress(Time timeout); + CompletableFuture<String> requestRestAddress(@RpcTimeout Time timeout); + + /** + * Requests the AccessExecutionGraph for the given jobId. If there is no such graph, then + * the future is completed with a {@link JobNotFoundException}. + * + * @param jobId identifying the job whose AccessExecutionGraph is requested + * @param timeout for the asynchronous operation + * @return Future containing the AccessExecutionGraph for the given jobId, otherwise {@link JobNotFoundException} + */ + CompletableFuture<AccessExecutionGraph> requestJob(JobID jobId, @RpcTimeout Time timeout); --- End diff -- It makes sense to accumulate (all) methods required for the REST handlers in a common interface because it will be implemented by the `Dispatcher` as well as the `JobMaster`. Right now, the `RestfulInterface` is used two purposes: 1. retrieving the REST address and 2. all REST handler related requests. Once all information which is required by the REST handlers is serializable, we no longer have to redirect. Then we can drop the `requestRestAddress` method. Then I would also rename this interface into something like `RestInformationGateway`. Until then, I would like to keep it how it is.
---