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.


---

Reply via email to