[ 
https://issues.apache.org/jira/browse/FLINK-15790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Zagrebin resolved FLINK-15790.
-------------------------------------
    Resolution: Done

merged into master by 577abe7fe120adc039cd9f0450de3124d6b7a6a9

merged into 1.10 by 035453fb1472b917972daafcd552b7648b34eb31

> Make FlinkKubeClient and its implementations asynchronous
> ---------------------------------------------------------
>
>                 Key: FLINK-15790
>                 URL: https://issues.apache.org/jira/browse/FLINK-15790
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Deployment / Kubernetes
>    Affects Versions: 1.10.0
>            Reporter: Till Rohrmann
>            Assignee: Yang Wang
>            Priority: Critical
>              Labels: pull-request-available
>             Fix For: 1.10.1, 1.11.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> The {{FlinkKubeClient}} interface offers several methods which are 
> synchronous (e.g. {{FlinkKubeClient.createTaskManagerPod}}, 
> {{FlinkKubeClient.stopPod}}, {{FlinkKubeClient.getPodsWithLabels}}, etc). The 
> problem is that these methods are directly used by the 
> {{KubernetesResourceManager}} which calls them from the main thread. Since 
> these methods perform I/O operations (sending and receiving network packages) 
> they can potentially block the execution and hence should not happen from the 
> {{RpcEndpoint's}} main thread.
> I propose to make all potentially blocking operations on the 
> {{FlinkKubeClient}} asynchronous so that the {{KubernetesResourceManager}} 
> does not risk to block the main thread. Alternatively, we could also 
> introduce a {{FlinkKubeClientAsync}} which offers asynchronous operations.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to