You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Michael Ho (JIRA)" <ji...@apache.org> on 2019/06/27 19:00:00 UTC
[jira] [Comment Edited] (IMPALA-8712) Convert ExecQueryFInstance()
RPC to become asynchronous
[ https://issues.apache.org/jira/browse/IMPALA-8712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16873765#comment-16873765 ]
Michael Ho edited comment on IMPALA-8712 at 6/27/19 6:59 PM:
-------------------------------------------------------------
On the other hand, {{exec_rpc_thread_pool_}} allows serialization of the RPC parameters to happen in parallel so it may not strictly be a simple conversion to asynchronous RPC without regression. So careful evaluation with huge RPC parameters (e.g. a large number of scan ranges) may be needed to see if there may be regression as a result.
Some of the serialization overhead with ExecQueryFInstance() RPC even after IMPALA-7467 is still Thrift related as we just serialize a bunch of Thrift structures into a binary blob and send them via KRPC sidecar. The serialization is done in parallel by threads in {{exec_rpc_thread_pool_}}. If we convert those Thrift structures into Protobuf, then the serialization can be done in parallel by reactor threads in the KRPC stack.
was (Author: kwho):
On the other hand, {{exec_rpc_thread_pool_}} allows serialization of the RPC parameters to happen in parallel so it may not strictly be a simple conversion to asynchronous RPC without regression. So careful evaluation with huge RPC parameters (e.g. a large number of scan ranges) may be needed to see if there may be regression as a result.
> Convert ExecQueryFInstance() RPC to become asynchronous
> -------------------------------------------------------
>
> Key: IMPALA-8712
> URL: https://issues.apache.org/jira/browse/IMPALA-8712
> Project: IMPALA
> Issue Type: Sub-task
> Components: Distributed Exec
> Affects Versions: Impala 3.3.0
> Reporter: Michael Ho
> Assignee: Thomas Tauber-Marshall
> Priority: Major
>
> Now that IMPALA-7467 is fixed, ExecQueryFInstance() can utilize the async RPC capabilities of KRPC instead of relying on the half-baked way of using {{ExecEnv::exec_rpc_thread_pool_}} to start query fragment instances. We already have a reactor thread pool in KRPC to handle sending client RPCs asynchronously. Also various tasks under IMPALA-5486 can also benefit from making ExecQueryFInstance() asynchronous so the RPCs can be cancelled.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org