You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by st...@apache.org on 2026/06/02 03:23:05 UTC

(impala) branch master updated: IMPALA-15012: [DOCS] Documentation for client-side bottleneck identification

This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git


The following commit(s) were added to refs/heads/master by this push:
     new 5fed4392f IMPALA-15012: [DOCS] Documentation for client-side bottleneck identification
5fed4392f is described below

commit 5fed4392f0d4b8a43efffbc590f2727834de094a
Author: m-sanjana19 <ma...@gmail.com>
AuthorDate: Mon Jun 1 13:28:33 2026 +0530

    IMPALA-15012: [DOCS] Documentation for client-side bottleneck
    identification
    
    Updates the performance tuning docs to cover the following
    ImpalaServer query profile metrics:
    - ClientFetchWaitTimer & ClientFetchWaitTimeStats
    - ClientFetchLockWaitTimer
    - GetInFlightProfileTimeStats
    Explains how a high ClientFetchWaitTimer is relative to
    total query duration indicates the client is slow to
    fetch results, which backpressures Impala's pipelined execution.
    
    Change-Id: Iaaf2e4cc069c2af9f66b30175d43b8abb30036c0
    Reviewed-on: http://gerrit.cloudera.org:8080/24385
    Tested-by: Impala Public Jenkins <im...@cloudera.com>
    Reviewed-by: Quanlong Huang <hu...@gmail.com>
---
 docs/topics/impala_explain_plan.xml | 35 ++++++++++++++++++++++++++++++++---
 1 file changed, 32 insertions(+), 3 deletions(-)

diff --git a/docs/topics/impala_explain_plan.xml b/docs/topics/impala_explain_plan.xml
index c60331cd8..cde4a0c24 100644
--- a/docs/topics/impala_explain_plan.xml
+++ b/docs/topics/impala_explain_plan.xml
@@ -276,9 +276,38 @@ under the License.
           system.
         </li>
       </ul>
-
+      <p>The ImpalaServer section of a query profile includes counters that measure client-side
+        latency and internal execution states:
+      </p>
+      <ul>
+        <li><codeph>ClientFetchWaitTimer</codeph> property indicates the cumulative time that the
+          Impala server spends waiting for the client application to retrieve rows and complete
+          client-side processing.
+        </li>
+        <li><codeph>ClientFetchWaitTimeStats</codeph> property provides summary statistics for the
+          client fetch wait metrics.
+        </li>
+        <li><codeph>ClientFetchLockWaitTimer</codeph> property measures the cumulative time that
+          client fetch requests wait to acquire internal locks.
+        </li>
+        <li><codeph>GetInFlightProfileTimeStats</codeph> property provides summary statistics of the
+          time spent dumping profile records while the query execution is in flight.<note
+            type="note">Dumping the profile of an in-flight query blocks client requests that fetch
+            results. You can use this counter to monitor and identify potential delays in result
+            retrieval.</note>
+        </li>
+      </ul>
+      <p>A <codeph>ClientFetchWaitTimer</codeph> property value that is close to the total query
+        duration indicates a performance bottleneck on the client side. In this scenario, the Impala
+        server remains idle because the system must wait for the external client to fetch the query
+        results.
+      </p>
+      <p>The query state continues in the FINISHED state during this transfer process. The FINISHED
+        state indicates that the client can begin fetching results from the coordinator node, rather
+        than indicating that the data transfer is complete. Because Impala uses distributed pipeline
+        execution, the query engine cannot produce or compute subsequent results if the client
+        application does not fetch the already generated rows.
+      </p>
     </conbody>
-
   </concept>
-
 </concept>