diff --git common/src/java/org/apache/hadoop/hive/conf/HiveConf.java common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index ef44eb0..220f4c8 100644 --- common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -2056,6 +2056,8 @@ public void setSparkConfigUpdated(boolean isSparkConfigUpdated) { "Comma-delimited set of integers denoting the desired rollover intervals (in seconds) for" + "percentile latency metrics on the LLAP daemon producer-consumer queue. By default," + "percentile latency metrics are disabled."), + LLAP_IO_THREADPOOL_SIZE("hive.llap.io.threadpool.size", 10, + "Specify the number of threads to use for low-level IO thread pool."), SPARK_CLIENT_FUTURE_TIMEOUT("hive.spark.client.future.timeout", diff --git llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java index 3f9ddfb..f04fe15 100644 --- llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java +++ llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java @@ -105,7 +105,8 @@ private LlapIoImpl(Configuration conf) throws IOException { cachePolicy.setEvictionListener(metadataCache); } // Arbitrary thread pool. Listening is used for unhandled errors for now (TODO: remove?) - executor = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(10)); + int numThreads = HiveConf.getIntVar(conf, HiveConf.ConfVars.LLAP_IO_THREADPOOL_SIZE); + executor = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(numThreads)); // TODO: this should depends on input format and be in a map, or something. this.cvp = new OrcColumnVectorProducer(metadataCache, orcCache, cache, conf, cacheMetrics,