You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2018/04/08 09:35:34 UTC

[19/50] [abbrv] hbase git commit: HBASE-19488 Move to using Apache commons CollectionUtils

HBASE-19488 Move to using Apache commons CollectionUtils

Signed-off-by: Apekshit Sharma <ap...@apache.org>


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

Branch: refs/heads/HBASE-19064
Commit: d866e7c658e04a5b3d221137d41e3e277f9991c4
Parents: dcc840e
Author: BELUGA BEHR <da...@gmail.com>
Authored: Wed Apr 4 14:12:19 2018 -0700
Committer: Apekshit Sharma <ap...@apache.org>
Committed: Wed Apr 4 14:12:19 2018 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/client/RowMutations.java       |  5 +-
 .../org/apache/hadoop/hbase/util/Bytes.java     |  1 +
 .../hadoop/hbase/util/CollectionUtils.java      | 80 --------------------
 .../replication/ZKReplicationPeerStorage.java   |  5 +-
 .../replication/ZKReplicationQueueStorage.java  | 24 ++++--
 .../hadoop/hbase/regionserver/HRegion.java      |  2 +-
 .../hbase/regionserver/RSRpcServices.java       |  2 +-
 .../hadoop/hbase/regionserver/StoreScanner.java |  6 +-
 .../hbase/regionserver/wal/FSWALEntry.java      |  2 +-
 9 files changed, 30 insertions(+), 97 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d866e7c6/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RowMutations.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RowMutations.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RowMutations.java
index 1eb3151..4b426cf 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RowMutations.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RowMutations.java
@@ -22,8 +22,9 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.CollectionUtils;
 import org.apache.yetus.audience.InterfaceAudience;
 
 /**
@@ -47,7 +48,7 @@ public class RowMutations implements Row {
    */
   public static RowMutations of(List<? extends Mutation> mutations) throws IOException {
     if (CollectionUtils.isEmpty(mutations)) {
-      throw new IllegalArgumentException("Can't instantiate a RowMutations by empty list");
+      throw new IllegalArgumentException("Cannot instantiate a RowMutations by empty list");
     }
     return new RowMutations(mutations.get(0).getRow(), mutations.size())
         .add(mutations);

http://git-wip-us.apache.org/repos/asf/hbase/blob/d866e7c6/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java
index b7912fd..a315fd2 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java
@@ -38,6 +38,7 @@ import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.KeyValue;

http://git-wip-us.apache.org/repos/asf/hbase/blob/d866e7c6/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CollectionUtils.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CollectionUtils.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CollectionUtils.java
index 8bbb6f1..bfe41d8 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CollectionUtils.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CollectionUtils.java
@@ -19,10 +19,6 @@
 package org.apache.hadoop.hbase.util;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
 import java.util.concurrent.ConcurrentMap;
 import java.util.function.Supplier;
 
@@ -34,82 +30,6 @@ import org.apache.yetus.audience.InterfaceAudience;
 @InterfaceAudience.Private
 public class CollectionUtils {
 
-  private static final List<Object> EMPTY_LIST = Collections.unmodifiableList(new ArrayList<>(0));
-
-  
-  @SuppressWarnings("unchecked")
-  public static <T> Collection<T> nullSafe(Collection<T> in) {
-    if (in == null) {
-      return (Collection<T>)EMPTY_LIST;
-    }
-    return in;
-  }
-
-  /************************ size ************************************/
-
-  public static <T> int nullSafeSize(Collection<T> collection) {
-    if (collection == null) {
-      return 0;
-    }
-    return collection.size();
-  }
-
-  public static <A, B> boolean nullSafeSameSize(Collection<A> a, Collection<B> b) {
-    return nullSafeSize(a) == nullSafeSize(b);
-  }
-
-  /*************************** empty ****************************************/
-
-  public static <T> boolean isEmpty(Collection<T> collection) {
-    return collection == null || collection.isEmpty();
-  }
-
-  public static <T> boolean notEmpty(Collection<T> collection) {
-    return !isEmpty(collection);
-  }
-
-  /************************ first/last **************************/
-
-  public static <T> T getFirst(Collection<T> collection) {
-    if (CollectionUtils.isEmpty(collection)) {
-      return null;
-    }
-    for (T t : collection) {
-      return t;
-    }
-    return null;
-  }
-  
-  /**
-   * @param list any list
-   * @return -1 if list is empty, otherwise the max index
-   */
-  public static int getLastIndex(List<?> list){
-    if(isEmpty(list)){
-      return -1;
-    }
-    return list.size() - 1;
-  }
-  
-  /**
-   * @param list
-   * @param index the index in question
-   * @return true if it is the last index or if list is empty and -1 is passed for the index param
-   */
-  public static boolean isLastIndex(List<?> list, int index){
-    return index == getLastIndex(list);
-  }
-
-  public static <T> T getLast(List<T> list) {
-    if (isEmpty(list)) {
-      return null;
-    }
-    return list.get(list.size() - 1);
-  }
-
-  public static <T> List<T> nullToEmpty(List<T> list) {
-    return list != null ? list : Collections.emptyList();
-  }
   /**
    * In HBASE-16648 we found that ConcurrentHashMap.get is much faster than computeIfAbsent if the
    * value already exists. Notice that the implementation does not guarantee that the supplier will

http://git-wip-us.apache.org/repos/asf/hbase/blob/d866e7c6/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.java
----------------------------------------------------------------------
diff --git a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.java b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.java
index a53500a..bbe6549 100644
--- a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.java
+++ b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.java
@@ -18,11 +18,11 @@
 package org.apache.hadoop.hbase.replication;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.client.replication.ReplicationPeerConfigUtil;
 import org.apache.hadoop.hbase.exceptions.DeserializationException;
-import org.apache.hadoop.hbase.util.CollectionUtils;
 import org.apache.hadoop.hbase.zookeeper.ZKUtil;
 import org.apache.hadoop.hbase.zookeeper.ZKUtil.ZKUtilOp;
 import org.apache.hadoop.hbase.zookeeper.ZKWatcher;
@@ -131,7 +131,8 @@ public class ZKReplicationPeerStorage extends ZKReplicationStorageBase
   @Override
   public List<String> listPeerIds() throws ReplicationException {
     try {
-      return CollectionUtils.nullToEmpty(ZKUtil.listChildrenNoWatch(zookeeper, peersZNode));
+      List<String> children = ZKUtil.listChildrenNoWatch(zookeeper, peersZNode);
+      return children != null ? children : Collections.emptyList();
     } catch (KeeperException e) {
       throw new ReplicationException("Cannot get the list of peers", e);
     }

http://git-wip-us.apache.org/repos/asf/hbase/blob/d866e7c6/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.java
----------------------------------------------------------------------
diff --git a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.java b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.java
index 84f6f17..6d72128 100644
--- a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.java
+++ b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.java
@@ -18,7 +18,6 @@
 package org.apache.hadoop.hbase.replication;
 
 import static java.util.stream.Collectors.toList;
-import static org.apache.hadoop.hbase.util.CollectionUtils.nullToEmpty;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -30,6 +29,7 @@ import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 import java.util.stream.Collectors;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HConstants;
@@ -37,7 +37,6 @@ import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.RegionInfo;
 import org.apache.hadoop.hbase.exceptions.DeserializationException;
 import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.CollectionUtils;
 import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.hbase.zookeeper.ZKUtil;
 import org.apache.hadoop.hbase.zookeeper.ZKUtil.ZKUtilOp;
@@ -451,8 +450,11 @@ class ZKReplicationQueueStorage extends ZKReplicationStorageBase
   }
 
   private List<ServerName> getListOfReplicators0() throws KeeperException {
-    return nullToEmpty(ZKUtil.listChildrenNoWatch(zookeeper, queuesZNode)).stream()
-        .map(ServerName::parseServerName).collect(toList());
+    List<String> children = ZKUtil.listChildrenNoWatch(zookeeper, queuesZNode);
+    if (children == null) {
+      children = Collections.emptyList();
+    }
+    return children.stream().map(ServerName::parseServerName).collect(toList());
   }
 
   @Override
@@ -466,7 +468,9 @@ class ZKReplicationQueueStorage extends ZKReplicationStorageBase
 
   private List<String> getWALsInQueue0(ServerName serverName, String queueId)
       throws KeeperException {
-    return nullToEmpty(ZKUtil.listChildrenNoWatch(zookeeper, getQueueNode(serverName, queueId)));
+    List<String> children = ZKUtil.listChildrenNoWatch(zookeeper, getQueueNode(serverName,
+        queueId));
+    return children != null ? children : Collections.emptyList();
   }
 
   @Override
@@ -482,7 +486,8 @@ class ZKReplicationQueueStorage extends ZKReplicationStorageBase
   }
 
   private List<String> getAllQueues0(ServerName serverName) throws KeeperException {
-    return nullToEmpty(ZKUtil.listChildrenNoWatch(zookeeper, getRsNode(serverName)));
+    List<String> children = ZKUtil.listChildrenNoWatch(zookeeper, getRsNode(serverName));
+    return children != null ? children : Collections.emptyList();
   }
 
   @Override
@@ -602,7 +607,8 @@ class ZKReplicationQueueStorage extends ZKReplicationStorageBase
   }
 
   private List<String> getAllPeersFromHFileRefsQueue0() throws KeeperException {
-    return nullToEmpty(ZKUtil.listChildrenNoWatch(zookeeper, hfileRefsZNode));
+    List<String> children = ZKUtil.listChildrenNoWatch(zookeeper, hfileRefsZNode);
+    return children != null ? children : Collections.emptyList();
   }
 
   @Override
@@ -616,7 +622,9 @@ class ZKReplicationQueueStorage extends ZKReplicationStorageBase
   }
 
   private List<String> getReplicableHFiles0(String peerId) throws KeeperException {
-    return nullToEmpty(ZKUtil.listChildrenNoWatch(this.zookeeper, getHFileRefsPeerNode(peerId)));
+    List<String> children = ZKUtil.listChildrenNoWatch(this.zookeeper,
+        getHFileRefsPeerNode(peerId));
+    return children != null ? children : Collections.emptyList();
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/hbase/blob/d866e7c6/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index a87f7bc..eccb67e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -70,6 +70,7 @@ import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 import java.util.function.Function;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
@@ -156,7 +157,6 @@ import org.apache.hadoop.hbase.trace.TraceUtil;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.CancelableProgressable;
 import org.apache.hadoop.hbase.util.ClassSize;
-import org.apache.hadoop.hbase.util.CollectionUtils;
 import org.apache.hadoop.hbase.util.CompressionTest;
 import org.apache.hadoop.hbase.util.EncryptionTest;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;

http://git-wip-us.apache.org/repos/asf/hbase/blob/d866e7c6/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
index f3bb24d..922fa86 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
@@ -42,6 +42,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.atomic.LongAdder;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.mutable.MutableObject;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
@@ -125,7 +126,6 @@ import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.security.access.AccessChecker;
 import org.apache.hadoop.hbase.security.access.Permission;
 import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.CollectionUtils;
 import org.apache.hadoop.hbase.util.DNS;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
 import org.apache.hadoop.hbase.util.Pair;

http://git-wip-us.apache.org/repos/asf/hbase/blob/d866e7c6/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index 2bc1e01..2973e57 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -27,6 +27,7 @@ import java.util.OptionalInt;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.locks.ReentrantLock;
 
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.CellUtil;
@@ -45,13 +46,14 @@ import org.apache.hadoop.hbase.regionserver.handler.ParallelSeekHandler;
 import org.apache.hadoop.hbase.regionserver.querymatcher.CompactionScanQueryMatcher;
 import org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher;
 import org.apache.hadoop.hbase.regionserver.querymatcher.UserScanQueryMatcher;
-import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;
-import org.apache.hadoop.hbase.util.CollectionUtils;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
 import org.apache.yetus.audience.InterfaceAudience;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;
+import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;
 
 /**
  * Scanner scans both the memstore and the Store. Coalesce KeyValue stream into List&lt;KeyValue&gt;

http://git-wip-us.apache.org/repos/asf/hbase/blob/d866e7c6/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.java
index de6a14c..4db6973 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.java
@@ -25,6 +25,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
 
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.CellUtil;
@@ -32,7 +33,6 @@ import org.apache.hadoop.hbase.PrivateCellUtil;
 import org.apache.hadoop.hbase.client.RegionInfo;
 import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl;
 import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.CollectionUtils;
 import org.apache.hadoop.hbase.wal.WAL.Entry;
 import org.apache.hadoop.hbase.wal.WALEdit;
 import org.apache.hadoop.hbase.wal.WALKeyImpl;