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

ASF subversion and git services commented on IMPALA-13164:
----------------------------------------------------------

Commit 49ddba704f1eec308d276f9568e7564918677258 in impala's branch 
refs/heads/master from Michael Smith
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=49ddba704 ]

IMPALA-13164: Expose more KRPC metrics

Exposes Kudu RPC metrics that are already collected through the rpcz
JSON page: reactor_active_latency, reactor_load_percent, and
rpcs_timed_out_in_queue.

Reactor activity and load can help identify when reactor threads are a
bottleneck on RPC performance. Timed out RPCs could happen after
IMPALA-13130; a non-zero value would signify lost EndDataStream messages
reflecting significant problems in RPC flow in the environment.

Adds deserialization-queue-size and deserialization-queue-wait-time to
datastream-manager metrics to help identify when RPC deserialization is
slow and could benefit from increasing
datastream_service_num_deserialization_threads or the queue size.

Implements FunctionGauge to provide access to a thread-safe getter
providing the relevant metric.

Generated-by: Github Copilot (Claude Sonnet 4.6, GPT-5.3-Codex)
Change-Id: I62106bbab2b9290f0d5f456d4bb30005a5261524
Reviewed-on: http://gerrit.cloudera.org:8080/24179
Reviewed-by: Alexey Serbin <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>
Reviewed-by: Michael Smith <[email protected]>


> Add metrics for RPC reactor and deserialization threads
> -------------------------------------------------------
>
>                 Key: IMPALA-13164
>                 URL: https://issues.apache.org/jira/browse/IMPALA-13164
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend, Distributed Exec
>    Affects Versions: Impala 4.4.0
>            Reporter: Michael Smith
>            Assignee: Michael Smith
>            Priority: Critical
>             Fix For: Impala 5.0.0
>
>
> When Impala starts to build up a queue in an RPC service - usually 
> DataStreamService - they become a bottleneck that slows down all exchanges 
> going through that node. To identify what's happening we generally need to 
> collect pstacks to identify why the queue is backed up.
> If all KrpcDataStreamMgr deserialization threads are in use, it can help to 
> increase the number of threads available via 
> {{{}datastream_service_num_deserialization_threads{}}}. This is the most 
> common bottleneck on larger machines; DataStream packets can be large and 
> take time to deserialize.
> Less frequently the number of reactor threads in RpcMgr sending requests and 
> receiving responses (so handling the actual network I/O) might be full; this 
> is much less common because {{num_reactor_threads}} defaults to the number of 
> CPU cores.
> ControlService uses a single thread pool for network I/O and deserialization 
> because the packets tend to be much smaller; this is controlled by 
> {{{}control_service_num_svc_threads{}}}, which defaults to the number of CPU 
> cores as well.
> It would help to have metrics for RPC reactor and deserialization threads to 
> tell when they're fully loaded and building up a queue; this could identify 
> when we need to increase {{datastream_service_num_deserialization_threads}} 
> or {{{}num_reactor_threads{}}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to