You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Michael Smith (Jira)" <ji...@apache.org> on 2026/04/14 15:12:00 UTC

[jira] [Resolved] (IMPALA-13164) Add metrics for RPC reactor and deserialization threads

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

Michael Smith resolved IMPALA-13164.
------------------------------------
    Resolution: Fixed

> 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)