Admission control slots are meant to be ignored for queries that utilize
the default pool and empty executor group. This feature was implemented by
IMPALA-13024 (
https://github.com/apache/impala/commit/29e418679380591ea7b8e4bdb797ccdbb0964a3d
).


Impala executor should be running with 1 admission slot
(-admission_control_slots=1 flag) for this example:


*— Setup*

*set request_pool=default;*

*drop table if exists testtable purge;*


*— Running a long query to occupy the slot *

*SELECT SLEEP(999999);*


*— Admission control slot is expected to be ignored by this query*

*create table testtable stored as parquet as  select 1;*

*— Actual result*

*Not enough admission control slots available on host ip:port. Needed 1
slots but 1/1 are already in use.*


Judging by a test case for IMPALA-13024, the default resource pool should
be defined in this specific way:
https://github.com/apache/impala/blob/29e418679380591ea7b8e4bdb797ccdbb0964a3d/tests/custom_cluster/test_executor_groups.py#L76


Otherwise it won't trigger this condition: state.request_pool() ==
RequestPoolService::DEFAULT_POOL_NAME
<https://github.com/apache/impala/commit/29e418679380591ea7b8e4bdb797ccdbb0964a3d?diff=unified&w=0#diff-512a4171d424439d8f2432d4e22b6deb34b17e51ecaa84063d609b5ad0f116d2R1010>


How can it be achieved via fair-scheduler.xml configuration?

Reply via email to