You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Chesnay Schepler (Jira)" <ji...@apache.org> on 2020/07/03 09:36:00 UTC

[jira] [Commented] (FLINK-17024) Make AkkaRpcService#getExecutor return a custom thread pool

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

Chesnay Schepler commented on FLINK-17024:
------------------------------------------

If the executor isn't running in the RPC thread, why does the {{RpcService}} provide an Executor at all? In other words, why should the {{RpcService}} be an {{Executuor}} factory?

Shouldn't the using components be provided a dedicated IO executor, matching their requirements?

> Make AkkaRpcService#getExecutor return a custom thread pool
> -----------------------------------------------------------
>
>                 Key: FLINK-17024
>                 URL: https://issues.apache.org/jira/browse/FLINK-17024
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Coordination
>            Reporter: Yang Wang
>            Priority: Major
>
> Follow the discussion in this PR[1].
> Currently, {{AkkaRpcServcie#getExecutor}} returns Akka's underlying dispatcher thread pool. It should not be used since it will take the risk to affect the main thread of rpc endpoint. We could return a custom thread pool instead. The it is safe to used for some I/O operations  in the {{RpcEndpoint}}, for example, {{stopPod}} in {{KubernetesResourceManager}}. An elastic thread pool(from 4 up to 16) is enough.
>  
> [1]. [https://github.com/apache/flink/pull/11427#discussion_r402738678]



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