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() {

Reply via email to