flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yang Wang (Jira)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-15790) Make FlinkKubeClient and its implementations asynchronous
Date Fri, 31 Jan 2020 15:03:00 GMT

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

Yang Wang commented on FLINK-15790:

Making all the interfaces of {{FlinkKubeClient}} asynchronous makes sense to me. I will go
in this direction. Segregating interfaces is not reasonable here since it will make the client
more confusing.

> 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
>            Priority: Critical
>             Fix For: 1.11.0, 1.10.1
> 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

View raw message