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

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

GitHub user tillrohrmann opened a pull request:

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

    [FLINK-4853] [rm] Harden job manager registration at the resource manager

    This PR is based #2651 and #2655.
    
    Introduce the `JobLeaderIdService` which automatically retrieves the 
current job leader id.
    This job leader id is used to validate job manager registration attempts. 
Additionally, it
    is used to disconnect old job leaders from the resource manager. The 
`JobLeaderIdService` exposes a job's leader id via a future which it completes 
when a new leader has been detected. The future is only failed in case the 
service is shut down.
    
    Would be great if you could review the changes @mxm. 

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tillrohrmann/flink cleanupJMRMRegistration

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

    https://github.com/apache/flink/pull/2657.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 #2657
    
----
commit ddf35c4ddb04629cddebb2401488effe93416b70
Author: Till Rohrmann <[email protected]>
Date:   2016-10-17T14:22:16Z

    [FLINK-4847] Let RpcEndpoint.start/shutDown throw exceptions
    
    Allowing the RpcEndpoint.start/shutDown to throw exceptions will help to 
let rpc endpoints
    to quickly fail without having to use a callback like the FatalErrorHandler.

commit 7b50ef387e477ff3801b68ad97904a10e95805e9
Author: Till Rohrmann <[email protected]>
Date:   2016-10-17T14:03:02Z

    [FLINK-4851] [rm] Introduce FatalErrorHandler and MetricRegistry to RM
    
    This PR introduces a FatalErrorHandler and the MetricRegistry to the RM. 
The FatalErrorHandler is used to handle fatal errors. Additionally, the PR adds 
the MetricRegistry to the RM which can be used
    to register metrics.
    
    Apart from these changes the PR restructures the code of the RM a little 
bit and fixes some
    blocking operations.
    
    The PR also moves the TestingFatalErrorHandler into the util package of 
flink-runtime test. That
    it is usable across multiple tests.

commit 1ea6f3c066cf28a7dacdfa762a351746855daa4f
Author: Till Rohrmann <[email protected]>
Date:   2016-10-18T16:03:00Z

    [FLINK-4853] [rm] Clean up job manager registration at the resource manager
    
    Introduce the JobLeaderIdService which automatically retrieves the current 
job leader id.
    This job leader id is used to validate job manager registartion attempts. 
Additionally, it
    is used to disconnect old job leaders from the resource manager.
    
    Add comments

----


> Clean up JobManager registration at the ResourceManager
> -------------------------------------------------------
>
>                 Key: FLINK-4853
>                 URL: https://issues.apache.org/jira/browse/FLINK-4853
>             Project: Flink
>          Issue Type: Sub-task
>          Components: ResourceManager
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>
> The current {{JobManager}} registration at the {{ResourceManager}} blocks 
> threads in the {{RpcService.execute}} pool. This is not ideal and can be 
> avoided by not waiting on a {{Future}} in this call.
> I propose to encapsulate the leader id retrieval operation in a distinct 
> service so that it can be separated from the {{ResourceManager}}. This will 
> reduce the complexity of the {{ResourceManager}} and make the individual 
> components easier to test.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to