You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/08/16 14:48:00 UTC

[jira] [Commented] (FLINK-7458) Generalize GatewayRetriever for WebRuntimeMonitor

    [ https://issues.apache.org/jira/browse/FLINK-7458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16128887#comment-16128887 ] 

ASF GitHub Bot commented on FLINK-7458:
---------------------------------------

GitHub user tillrohrmann opened a pull request:

    https://github.com/apache/flink/pull/4549

    [FLINK-7458] Generalize GatewayRetriever for WebRuntimeMonitor

    ## What is the purpose of the change
    
    Introduce a generalized GatewayRetriever replacing the JobManagerRetriever. The
    GatewayRetriever fulfills the same purpose as the JobManagerRetriever with the
    ability to retrieve the gateway for an arbitrary endpoint type.
    
    This PR is based on #4527.
    
    ## Brief change log
    
    - Added a `LeaderRetriever` which retrieves and stores the current leader information
    - Introduce the generic `GatewayRetriever` to retrieve arbitrary `RpcGateways`
    - `LeaderGatewayRetriever` implements `GatewayRetriever` and extends `LeaderRetriever` to resolve the leader address into the specified gateway type
    - `RpcGatewayRetriever` extends `LeaderGatewayRetriever` for the flip-6 code, `AkkaJobManagerRetriever` does the same for the old code which only needs to retrieve the `JobManagerGateway`
    
    ## Verifying this change
    
    This change added tests and can be verified as follows:
    
    - Added `AkkaJobManagerRetrieverTest` and `RpcGatewayRetrieverTest`
    
    ## 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)
    
    ## 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 generalizeJobManagerRetriever

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/4549.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 #4549
    
----
commit 2c0c36244f75de000f884618330bc2f885c91d76
Author: Till Rohrmann <tr...@apache.org>
Date:   2017-08-10T08:56:12Z

    [FLINK-7409] [web] Make WebRuntimeMonitor reactive
    
    This commit changes the behaviour of the WebRuntimeMonitor to not longer block serving
    threads by waiting on the result of futures. Instead the RequestHandler now returns a
    CompletableFuture<FullHttpResponse> which is written out to the Netty channel upon
    completion. This will improve the performance of our WebRuntimeMonitor.

commit 01c8666677a24d65b8d75c49696bc8ab9e254d99
Author: Till Rohrmann <tr...@apache.org>
Date:   2017-08-15T10:00:58Z

    [FLINK-7458] Generalize GatewayRetriever for WebRuntimeMonitor
    
    Introduce a generalized GatewayRetriever replacing the JobManagerRetriever. The
    GatewayRetriever fulfills the same purpose as the JobManagerRetriever with the
    ability to retrieve the gateway for an arbitrary endpoint type.

----


> Generalize GatewayRetriever for WebRuntimeMonitor
> -------------------------------------------------
>
>                 Key: FLINK-7458
>                 URL: https://issues.apache.org/jira/browse/FLINK-7458
>             Project: Flink
>          Issue Type: Improvement
>          Components: Distributed Coordination, Webfrontend
>    Affects Versions: 1.4.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>              Labels: flip-6
>
> Currently, all web frontend information can be retrieved from the {{JobManager}}. For that, we have the {{JobManagerRetriever}} which listens to leader changes and always connects to the leading {{JobManager}}. This gateway can then be used by the REST handlers. In the future (with Flip-6) the information will be distributed across different components and multiple components will have a REST endpoint. Due to that the REST handlers no longer can rely on the {{JobManagerGateway}}. Instead they might connect to different entities which need to be retrieved. In order to solve this problem, I propose to introduce a generalized gateway retriever which allows to retrieve the {{RpcGateway}} for different components.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)