diff --git common/src/java/org/apache/hadoop/hive/conf/HiveConf.java common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index 5d5a928..12ece25 100644 --- common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -1022,7 +1022,7 @@ public void setSparkConfigUpdated(boolean isSparkConfigUpdated) { "If turned on splits generated by orc will include metadata about the stripes in the file. This\n" + "data is read remotely (from the client or HS2 machine) and sent to all the tasks."), HIVE_ORC_CACHE_STRIPE_DETAILS_SIZE("hive.orc.cache.stripe.details.size", 10000, - "Cache size for keeping meta info about orc splits cached in the client."), + "Max cache size for keeping meta info about orc splits cached in the client."), HIVE_ORC_COMPUTE_SPLITS_NUM_THREADS("hive.orc.compute.splits.num.threads", 10, "How many threads orc should use to create splits in parallel."), HIVE_ORC_SKIP_CORRUPT_DATA("hive.exec.orc.skip.corrupt.data", false, diff --git ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java index 3ae4688..5d6c9da 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java @@ -412,8 +412,12 @@ public boolean validateInput(FileSystem fs, HiveConf conf, } if (footerCache == null && cacheStripeDetails) { - footerCache = CacheBuilder.newBuilder().concurrencyLevel(numThreads) - .initialCapacity(cacheStripeDetailsSize).softValues().build(); + footerCache = CacheBuilder.newBuilder() + .concurrencyLevel(numThreads) + .initialCapacity(cacheStripeDetailsSize) + .maximumSize(cacheStripeDetailsSize) + .softValues() + .build(); } } String value = conf.get(ValidTxnList.VALID_TXNS_KEY,