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

Quanlong Huang commented on IMPALA-10578:
-----------------------------------------

Thanks for uploading the profiles. Are the machines in a high load? E.g. how is 
the "load average" shown by top/htop. In the profile of the small query, the 
timeline shows
{code:java}
- Ready to start on 56 backends: 15.271ms (1.649ms)
- All 56 execution backends (171 fragment instances) started: 18s505ms 
(18s489ms){code}
I think this indicates a high load on the machines so it takes time to launch 
the fragment instance threads.

For the Trace log, I think it's possible that acquiring the lock here take more 
time if the OS is scheduling too many threads:
 
[https://github.com/apache/impala/blob/e3bafcbef4fd7152ecfcbc7d331e41e9778caf15/be/src/runtime/krpc-data-stream-recvr.cc#L454]

I think we need more metrics in {{KrpcDataStreamRecvr::SenderQueue::AddBatch}} 
to drill down, as commented by this TODO: 
[https://github.com/apache/impala/blob/e3bafcbef4fd7152ecfcbc7d331e41e9778caf15/be/src/runtime/krpc-data-stream-recvr.cc#L433]

Maybe we should prioritize IMPALA-10137 for this.

cc [~drorke], [~rizaon], [~joemcdonnell], [~twmarshall]

> Big Query influence other query seriously when hardware not reach limit 
> ------------------------------------------------------------------------
>
>                 Key: IMPALA-10578
>                 URL: https://issues.apache.org/jira/browse/IMPALA-10578
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 3.4.0
>         Environment: impala-3.4
> 80 machines with 96 cpu and 256GB mem
> scratch-dir is on separate disk different from HDFS data dir
>            Reporter: wesleydeng
>            Priority: Major
>         Attachments: big_query.txt.bz2, image-2021-03-10-19-59-24-188.png, 
> image-2021-03-16-16-32-37-862.png, small_query_be_influenced_very_slow.txt.bz2
>
>
> When a big query is running(use mt_dop=8), other query is very difficult to 
> start. 
> A small query (select distinct one field from a small table)  may take about 
> 1 minutes, normallly it take only about 1~3 second.
>  From the impalad log, I found a incomprehensible log like this:
> !image-2021-03-16-16-32-37-862.png|width=836,height=189!
> !image-2021-03-10-19-59-24-188.png|width=892,height=435!
>  
> When the Big query is running, data spilled  has happened because mem_limit 
> was set and this big query waste a lot of memory.
>  
> In the attchment, I append the profile of big query and small query. The 
> small query can be finished in seconds normally. the timeline of small query 
> show  as below:
> Query Timeline: 21m39s
>  - Query submitted: 48.846us (48.846us)
>  - Planning finished: 2.934ms (2.886ms)
>  - Submit for admission: 12.572ms (9.637ms)
>  - Completed admission: 13.622ms (1.050ms)
>  - Ready to start on 56 backends: 15.271ms (1.649ms)
>  *- All 56 execution backends (171 fragment instances) started: 18s505ms 
> (18s489ms)*
>  - Rows available: 51s770ms (33s265ms)
>  - First row fetched: 57s220ms (5s449ms)
>  - Last row fetched: 59s119ms (1s899ms)
>  - Released admission control resources: 1m1s (2s223ms)
>  - AdmissionControlTimeSinceLastUpdate: 80.000ms
>  - ComputeScanRangeAssignmentTimer: 439.749us
>  
>  
>  
>  



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

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

Reply via email to