HIVE-19410 : don't create serde reader in LLAP if there's no cache (Sergey Shelukhin, reviewed by Prasanth Jayachandran)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/d33f79fe Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/d33f79fe Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/d33f79fe Branch: refs/heads/branch-3.0.0 Commit: d33f79fe5307fa7044efaba64d666acf9be3a72a Parents: 14d0690 Author: sergey <ser...@apache.org> Authored: Mon May 7 12:09:04 2018 -0700 Committer: Matt McCline <mmccl...@hortonworks.com> Committed: Mon May 14 14:11:34 2018 -0500 ---------------------------------------------------------------------- .../java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java | 3 ++- .../hadoop/hive/llap/io/encoded/SerDeEncodedDataReader.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/d33f79fe/llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java ---------------------------------------------------------------------- diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java b/llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java index 747b399..5003d9b 100644 --- a/llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java +++ b/llap-server/src/java/org/apache/hadoop/hive/llap/io/api/impl/LlapIoImpl.java @@ -133,7 +133,8 @@ public class LlapIoImpl implements LlapIo<VectorizedRowBatch> { MetadataCache metadataCache = null; SerDeLowLevelCacheImpl serdeCache = null; // TODO: extract interface when needed BufferUsageManager bufferManagerOrc = null, bufferManagerGeneric = null; - boolean isEncodeEnabled = HiveConf.getBoolVar(conf, ConfVars.LLAP_IO_ENCODE_ENABLED); + boolean isEncodeEnabled = useLowLevelCache + && HiveConf.getBoolVar(conf, ConfVars.LLAP_IO_ENCODE_ENABLED); if (useLowLevelCache) { // Memory manager uses cache policy to trigger evictions, so create the policy first. boolean useLrfu = HiveConf.getBoolVar(conf, HiveConf.ConfVars.LLAP_USE_LRFU); http://git-wip-us.apache.org/repos/asf/hive/blob/d33f79fe/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/SerDeEncodedDataReader.java ---------------------------------------------------------------------- diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/SerDeEncodedDataReader.java b/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/SerDeEncodedDataReader.java index 8b89ae9..1cfe929 100644 --- a/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/SerDeEncodedDataReader.java +++ b/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/SerDeEncodedDataReader.java @@ -178,6 +178,7 @@ public class SerDeEncodedDataReader extends CallableWithNdc<Void> InputFormat<?, ?> sourceInputFormat, Deserializer sourceSerDe, QueryFragmentCounters counters, TypeDescription schema, Map<Path, PartitionDesc> parts) throws IOException { + assert cache != null; this.cache = cache; this.bufferManager = bufferManager; this.bufferFactory = new BufferObjectFactory() {