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

Bikramjeet Vig updated IMPALA-7064:
-----------------------------------
    Description: 
Due to a delay in updating (host_mem_reserved_[coord_id]) memory reserved 
locally on a host in impala, multiple queries submitted in succession after 
every previous succeeds can result in queries being queued momentarily due to 
not enough memory being available. This happens because unlike pool stats that 
immediately update local metrics, the host level memory reserved metric is only 
updated on the next statestore update. This delay can cause the admission 
controller to believe that memory reserved for a previous query has not been 
released.

Repro steps:

start an impala cluster using:
 start-impala-cluster.py  --impalad_args="--default_pool_max_requests=1 
--queue_wait_timeout_ms=1000000 --mem_limit=5G --default_pool_mem_limit=10G 
--queue_wait_timeout_ms=1"

run queries in succession like this:

./bin/impala-shell.sh -q "set mem_limit=5G;set num_nodes=1;select * from 
functional.alltypesagg, (select 1) B limit 1;select * from 
functional.alltypesagg, (select 1) B limit 1;"

Due to queue wait timeout set to 1ms, you will notice that the second query 
fails.

  was:
Due to a delay in updating memory admitted locally on a host in impala, 
multiple queries submitted in succession after every previous succeeds can 
result in queries being queued momentarily due to not enough memory being 
available. This happens because unlike pool stats that immediately update local 
metrics, the host level memory admitted metric is only updated on the next 
statestore update. This delay can cause the admission controller to believe 
that memory admitted for a previous query has not been released.

Repro steps:

start an impala cluster using:
start-impala-cluster.py  --impalad_args="--default_pool_max_requests=1 
--queue_wait_timeout_ms=1000000 --mem_limit=5G --default_pool_mem_limit=10G 
--queue_wait_timeout_ms=1"

run queries in succession like this:

./bin/impala-shell.sh -q "set mem_limit=5G;set num_nodes=1;select * from 
functional.alltypesagg, (select 1) B limit 1;select * from 
functional.alltypesagg, (select 1) B limit 1;"

Due to queue wait timeout set to 1ms, you will notice that the second query 
fails.


> Local memory admitted metric does not get updated immediately 
> --------------------------------------------------------------
>
>                 Key: IMPALA-7064
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7064
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 3.0
>            Reporter: Bikramjeet Vig
>            Assignee: Bikramjeet Vig
>            Priority: Major
>              Labels: admission-control
>
> Due to a delay in updating (host_mem_reserved_[coord_id]) memory reserved 
> locally on a host in impala, multiple queries submitted in succession after 
> every previous succeeds can result in queries being queued momentarily due to 
> not enough memory being available. This happens because unlike pool stats 
> that immediately update local metrics, the host level memory reserved metric 
> is only updated on the next statestore update. This delay can cause the 
> admission controller to believe that memory reserved for a previous query has 
> not been released.
> Repro steps:
> start an impala cluster using:
>  start-impala-cluster.py  --impalad_args="--default_pool_max_requests=1 
> --queue_wait_timeout_ms=1000000 --mem_limit=5G --default_pool_mem_limit=10G 
> --queue_wait_timeout_ms=1"
> run queries in succession like this:
> ./bin/impala-shell.sh -q "set mem_limit=5G;set num_nodes=1;select * from 
> functional.alltypesagg, (select 1) B limit 1;select * from 
> functional.alltypesagg, (select 1) B limit 1;"
> Due to queue wait timeout set to 1ms, you will notice that the second query 
> fails.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to