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

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

Github user tillrohrmann commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2657#discussion_r84573433
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/resourcemanager/ResourceManager.java
 ---
    @@ -471,6 +498,149 @@ public void shutDownCluster(final ApplicationStatus 
finalStatus, final String op
        }
     
        // 
------------------------------------------------------------------------
    +   //  Testing methods
    +   // 
------------------------------------------------------------------------
    +
    +   /**
    +    * Gets the leader session id of current resourceManager.
    +    *
    +    * @return return the leaderSessionId of current resourceManager, this 
returns null until the current resourceManager is granted leadership.
    +    */
    +   @VisibleForTesting
    +   UUID getLeaderSessionId() {
    +           return leaderSessionId;
    +   }
    +
    +   // 
------------------------------------------------------------------------
    +   //  Internal methods
    +   // 
------------------------------------------------------------------------
    +
    +   private void clearState() {
    +           jobManagerRegistrations.clear();
    +           taskExecutors.clear();
    +           slotManager.clearState();
    +
    +           try {
    +                   jobLeaderIdService.clear();
    +           } catch (Exception e) {
    +                   onFatalError(new ResourceManagerException("Could not 
properly clear the job leader id service.", e));
    +           }
    +
    +           leaderSessionId = new UUID(0, 0);
    --- End diff --
    
    You're right. Yes this should be `null`. I want to change the current 
behaviour that we don't use `null` in the standalone case. Instead, `null` 
should indicate that there is no leader.


> 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