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

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

Github user tillrohrmann commented on the issue:

    https://github.com/apache/flink/pull/6087
  
    Thanks for opening the PR @zhangminglei. I agree with @sihuazhou that it's 
not as easy as replacing `x` with `xAsync`. As @sihuazhou pointed out, we have 
to react to asynchronous Yarn messages depending on our internal state. So for 
example, when calling `startContainerAsync` we should store somewhere that we 
tried to start a container. If this request later fails, we should not fail the 
complete ResourceManager but rather send a new container request (as it is done 
in the `YarnResourceManager#onContainersAllocated` method).
    
    Additionally, while touching this code, we should check whether we can 
improve the unit tests for this component. Especially with the asynchronous 
node manager client, it should be rather simple to write good tests when 
creating a mock implementation and manually calling the callbacks.


> Replace NMClient with NMClientAsync in YarnResourceManager
> ----------------------------------------------------------
>
>                 Key: FLINK-9410
>                 URL: https://issues.apache.org/jira/browse/FLINK-9410
>             Project: Flink
>          Issue Type: Improvement
>          Components: Distributed Coordination
>    Affects Versions: 1.5.0, 1.6.0
>            Reporter: Till Rohrmann
>            Assignee: mingleizhang
>            Priority: Critical
>             Fix For: 1.6.0
>
>
> Currently, the {{YarnResourceManager}} uses the synchronous {{NMClient}} 
> which is called from within the main thread of the {{ResourceManager}}. Since 
> these operations are blocking, we should replace the client with the 
> {{NMClientAsync}} and make the calls non blocking.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to