Hi All,

Currently we have *100* as the default value for
hive.server2.async.exec.threads
<https://github.com/apache/hive/blob/68f8734b3b7db2fdc8bc0c11ad3c37eb2e2a808c/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java#L4233-L4234>
 and hive.server2.async.exec.wait.queue.size
<https://github.com/apache/hive/blob/68f8734b3b7db2fdc8bc0c11ad3c37eb2e2a808c/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java#L4238-L4240>
configurations
related to HS2 Async thread pool which is used for handling the client
requests/queries coming to the HS2.

Recently our most of the customers reported saying below error on beeline

*0: jdbc:hive2://localhost> show databases;*
*Error: The background threadpool cannot accept new task for execution,
please retry the operation (state=,code=0)*

HS2 server logs shows below exception

*Caused by: java.util.concurrent.RejectedExecutionException: Task
java.util.concurrent.FutureTask@24363395 rejected from
java.util.concurrent.ThreadPoolExecutor@54ef7045[Running, pool size = 100,
active threads = 100, queued tasks = 100, completed tasks = 682504]*

*at 
java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
~[?:1.8.0_342]
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
~[?:1.8.0_342]
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379)
~[?:1.8.0_342]
at 
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
~[?:1.8.0_342]
at 
org.apache.hive.service.cli.session.SessionManager.submitBackgroundOperation(SessionManager.java:760)
~[hive-service-3.1.3]
at 
org.apache.hive.service.cli.session.HiveSessionImpl.submitBackgroundOperation(HiveSessionImpl.java:598)
~[hive-service-3.1.3]
at 
org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:279)
~[hive-service-3.1.3]
... 50 more*

So here for most of the customers load the default value 100 is not
sufficient so their queries are getting rejected. An average around
20+ customers are reproting this issue per year. May be most of the
other organizations customers also facing this issue.

So I am proposing to increase this default value from *100* to *250*
for smooth handling of customer load.

Please provide your valuable suggestions regarding this.


Thanks & Regards,
Dayakar

Reply via email to