You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ai...@apache.org on 2018/01/08 19:42:14 UTC

[3/3] hive git commit: HIVE-16970: General Improvements To org.apache.hadoop.hive.metastore.cache.CacheUtils (BELUGA BEHR, reviewed by Ashutosh Chauhan)

HIVE-16970: General Improvements To org.apache.hadoop.hive.metastore.cache.CacheUtils (BELUGA BEHR, reviewed by Ashutosh Chauhan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/148807a9
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/148807a9
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/148807a9

Branch: refs/heads/master
Commit: 148807a98ad4f0672c9457fff8ba1501c237f1de
Parents: 0ea2f28
Author: Aihua Xu <ai...@apache.org>
Authored: Mon Jan 8 10:48:11 2018 -0800
Committer: Aihua Xu <ai...@apache.org>
Committed: Mon Jan 8 10:48:11 2018 -0800

----------------------------------------------------------------------
 .../hadoop/hive/metastore/cache/CacheUtils.java | 54 +++++++++-----------
 1 file changed, 23 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/148807a9/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CacheUtils.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CacheUtils.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CacheUtils.java
index ab6b90f..798ada8 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CacheUtils.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CacheUtils.java
@@ -17,11 +17,12 @@
  */
 package org.apache.hadoop.hive.metastore.cache;
 
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.regex.Pattern;
 
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.SkewedInfo;
 import org.apache.hadoop.hive.metastore.api.StorageDescriptor;
@@ -43,14 +44,9 @@ public class CacheUtils {
 
   public static String buildKey(String dbName, String tableName, List<String> partVals) {
     String key = buildKey(dbName, tableName);
-    if (partVals == null || partVals.size() == 0) {
-      return key;
-    }
-    for (int i = 0; i < partVals.size(); i++) {
-      key += partVals.get(i);
-      if (i != partVals.size() - 1) {
-        key += delimit;
-      }
+    if (CollectionUtils.isNotEmpty(partVals)) {
+      key += delimit;
+      key += String.join(delimit, partVals);
     }
     return key;
   }
@@ -78,28 +74,24 @@ public class CacheUtils {
     String[] comps = key.split(delimit);
     result[0] = comps[0];
     result[1] = comps[1];
-    List<String> vals = new ArrayList<>();
-    for (int i=2;i<comps.length-2;i++) {
-      vals.add(comps[i]);
-    }
-    result[2] = vals;
+    result[2] = Arrays.asList((Arrays.copyOfRange(comps, 2, comps.length - 1)));
     result[3] = comps[comps.length-1];
     return result;
   }
 
   static Table assemble(TableWrapper wrapper, SharedCache sharedCache) {
     Table t = wrapper.getTable().deepCopy();
-    if (wrapper.getSdHash()!=null) {
+    if (wrapper.getSdHash() != null) {
       StorageDescriptor sdCopy = sharedCache.getSdFromCache(wrapper.getSdHash()).deepCopy();
-      if (sdCopy.getBucketCols()==null) {
-        sdCopy.setBucketCols(new ArrayList<>());
+      if (sdCopy.getBucketCols() == null) {
+        sdCopy.setBucketCols(Collections.emptyList());
       }
-      if (sdCopy.getSortCols()==null) {
-        sdCopy.setSortCols(new ArrayList<>());
+      if (sdCopy.getSortCols() == null) {
+        sdCopy.setSortCols(Collections.emptyList());
       }
-      if (sdCopy.getSkewedInfo()==null) {
-        sdCopy.setSkewedInfo(new SkewedInfo(new ArrayList<>(),
-            new ArrayList<>(), new HashMap<>()));
+      if (sdCopy.getSkewedInfo() == null) {
+        sdCopy.setSkewedInfo(new SkewedInfo(Collections.emptyList(),
+          Collections.emptyList(), Collections.emptyMap()));
       }
       sdCopy.setLocation(wrapper.getLocation());
       sdCopy.setParameters(wrapper.getParameters());
@@ -110,17 +102,17 @@ public class CacheUtils {
 
   static Partition assemble(PartitionWrapper wrapper, SharedCache sharedCache) {
     Partition p = wrapper.getPartition().deepCopy();
-    if (wrapper.getSdHash()!=null) {
+    if (wrapper.getSdHash() != null) {
       StorageDescriptor sdCopy = sharedCache.getSdFromCache(wrapper.getSdHash()).deepCopy();
-      if (sdCopy.getBucketCols()==null) {
-        sdCopy.setBucketCols(new ArrayList<>());
+      if (sdCopy.getBucketCols() == null) {
+        sdCopy.setBucketCols(Collections.emptyList());
       }
-      if (sdCopy.getSortCols()==null) {
-        sdCopy.setSortCols(new ArrayList<>());
+      if (sdCopy.getSortCols() == null) {
+        sdCopy.setSortCols(Collections.emptyList());
       }
-      if (sdCopy.getSkewedInfo()==null) {
-        sdCopy.setSkewedInfo(new SkewedInfo(new ArrayList<>(),
-            new ArrayList<>(), new HashMap<>()));
+      if (sdCopy.getSkewedInfo() == null) {
+        sdCopy.setSkewedInfo(new SkewedInfo(Collections.emptyList(),
+          Collections.emptyList(), Collections.emptyMap()));
       }
       sdCopy.setLocation(wrapper.getLocation());
       sdCopy.setParameters(wrapper.getParameters());