You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by an...@apache.org on 2016/12/07 06:53:06 UTC

hbase git commit: HBASE-17249 Get/Scan's setTimeRange/setColumnFamilyTimeRange can take the TimeRange reference as the parameter instead of creating a new setColumnFamilyTimeRange instance. (huaxiang sun)

Repository: hbase
Updated Branches:
  refs/heads/master 1eb24e4e8 -> 61220e4d7


HBASE-17249 Get/Scan's setTimeRange/setColumnFamilyTimeRange can take the TimeRange reference as the parameter instead of creating a new setColumnFamilyTimeRange instance. (huaxiang sun)


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

Branch: refs/heads/master
Commit: 61220e4d7c8d7e5fb8ed3bbe2469bc86632c48de
Parents: 1eb24e4
Author: anoopsamjohn <an...@gmail.com>
Authored: Wed Dec 7 12:22:41 2016 +0530
Committer: anoopsamjohn <an...@gmail.com>
Committed: Wed Dec 7 12:22:41 2016 +0530

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/client/Get.java     | 33 ++++++++++-------
 .../org/apache/hadoop/hbase/client/Query.java   | 38 +++++++++++++++++++-
 .../org/apache/hadoop/hbase/client/Scan.java    | 33 ++++++++++-------
 .../hadoop/hbase/protobuf/ProtobufUtil.java     | 12 +++----
 .../hbase/shaded/protobuf/ProtobufUtil.java     | 12 +++----
 5 files changed, 87 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/61220e4d/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java
index c19a6a9..4dc656f 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Get.java
@@ -74,7 +74,6 @@ public class Get extends Query
   private boolean cacheBlocks = true;
   private int storeLimit = -1;
   private int storeOffset = 0;
-  private TimeRange tr = new TimeRange();
   private boolean checkExistenceOnly = false;
   private boolean closestRowBefore = false;
   private Map<byte [], NavigableSet<byte []>> familyMap =
@@ -203,9 +202,19 @@ public class Get extends Query
    * @throws IOException
    * @return this for invocation chaining
    */
+  @Override
   public Get setTimeRange(long minStamp, long maxStamp) throws IOException {
-    tr = new TimeRange(minStamp, maxStamp);
-    return this;
+    return (Get) super.setTimeRange(minStamp, maxStamp);
+  }
+
+  /**
+   * Get versions of columns only within the specified timestamp range,
+   * @param tr Input TimeRange
+   * @return this for invocation chaining
+   */
+  @Override
+  public Get setTimeRange(TimeRange tr) {
+    return (Get) super.setTimeRange(tr);
   }
 
   /**
@@ -216,7 +225,7 @@ public class Get extends Query
   public Get setTimeStamp(long timestamp)
   throws IOException {
     try {
-      tr = new TimeRange(timestamp, timestamp+1);
+      super.setTimeRange(timestamp, timestamp + 1);
     } catch(Exception e) {
       // This should never happen, unless integer overflow or something extremely wrong...
       LOG.error("TimeRange failed, likely caused by integer overflow. ", e);
@@ -225,10 +234,16 @@ public class Get extends Query
     return this;
   }
 
-  @Override public Get setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {
+  @Override
+  public Get setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {
     return (Get) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);
   }
 
+  @Override
+  public Get setColumnFamilyTimeRange(byte[] cf, TimeRange tr) {
+    return (Get) super.setColumnFamilyTimeRange(cf, tr);
+  }
+
   /**
    * Get all available versions.
    * @return this for invocation chaining
@@ -345,14 +360,6 @@ public class Get extends Query
   }
 
   /**
-   * Method for retrieving the get's TimeRange
-   * @return timeRange
-   */
-  public TimeRange getTimeRange() {
-    return this.tr;
-  }
-
-  /**
    * Method for retrieving the keys in the familyMap
    * @return keys in the current familyMap
    */

http://git-wip-us.apache.org/repos/asf/hbase/blob/61220e4d/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java
index a287499..222eaff 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Query.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import java.io.IOException;
 import java.util.Map;
 
 import com.google.common.collect.Maps;
@@ -45,6 +46,7 @@ public abstract class Query extends OperationWithAttributes {
   protected Consistency consistency = Consistency.STRONG;
   protected Map<byte[], TimeRange> colFamTimeRangeMap = Maps.newTreeMap(Bytes.BYTES_COMPARATOR);
   protected Boolean loadColumnFamiliesOnDemand = null;
+  protected TimeRange tr = new TimeRange();
   /**
    * @return Filter
    */
@@ -65,6 +67,36 @@ public abstract class Query extends OperationWithAttributes {
   }
 
   /**
+   * @return TimeRange
+   */
+  public TimeRange getTimeRange() {
+    return tr;
+  }
+
+  /**
+   * Sets the TimeRange to be used by this Query
+   * @param tr TimeRange
+   * @return Query
+   */
+  public Query setTimeRange(TimeRange tr) {
+    this.tr = tr;
+    return this;
+  }
+
+  /**
+   * Sets the TimeRange to be used by this Query
+   * [minStamp, maxStamp).
+   * @param minStamp minimum timestamp value, inclusive
+   * @param maxStamp maximum timestamp value, exclusive
+   * @throws IOException
+   * @return this for invocation chaining
+   */
+  public Query setTimeRange(long minStamp, long maxStamp) throws IOException {
+    tr = new TimeRange(minStamp, maxStamp);
+    return this;
+  }
+
+  /**
    * Sets the authorizations to be used by this Query
    * @param authorizations
    */
@@ -227,12 +259,16 @@ public abstract class Query extends OperationWithAttributes {
    * @param maxStamp maximum timestamp value, exclusive
    * @return this
    */
-
   public Query setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {
     colFamTimeRangeMap.put(cf, new TimeRange(minStamp, maxStamp));
     return this;
   }
 
+  public Query setColumnFamilyTimeRange(byte[] cf, TimeRange tr) {
+    colFamTimeRangeMap.put(cf, tr);
+    return this;
+  }
+
   /**
    * @return A map of column families to time ranges
    */

http://git-wip-us.apache.org/repos/asf/hbase/blob/61220e4d/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java
index 9d659b8..81a8414 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Scan.java
@@ -135,7 +135,6 @@ public class Scan extends Query {
   private long maxResultSize = -1;
   private boolean cacheBlocks = true;
   private boolean reversed = false;
-  private TimeRange tr = new TimeRange();
   private Map<byte [], NavigableSet<byte []>> familyMap =
     new TreeMap<byte [], NavigableSet<byte []>>(Bytes.BYTES_COMPARATOR);
   private Boolean asyncPrefetch = null;
@@ -325,7 +324,7 @@ public class Scan extends Query {
   }
 
   /**
-   * Get versions of columns only within the specified timestamp range,
+   * Set versions of columns only within the specified timestamp range,
    * [minStamp, maxStamp).  Note, default maximum versions to return is 1.  If
    * your time range spans more than one version and you want all versions
    * returned, up the number of versions beyond the default.
@@ -335,9 +334,18 @@ public class Scan extends Query {
    * @see #setMaxVersions(int)
    * @return this
    */
+  @Override
   public Scan setTimeRange(long minStamp, long maxStamp) throws IOException {
-    tr = new TimeRange(minStamp, maxStamp);
-    return this;
+    return (Scan) super.setTimeRange(minStamp, maxStamp);
+  }
+
+  /**
+   * Set versions of columns only within the specified timestamp range,
+   * @param tr Input TimeRange
+   * @return this for invocation chaining
+   */
+  public Scan setTimeRange(TimeRange tr) {
+    return (Scan) super.setTimeRange(tr);
   }
 
   /**
@@ -353,7 +361,7 @@ public class Scan extends Query {
   public Scan setTimeStamp(long timestamp)
   throws IOException {
     try {
-      tr = new TimeRange(timestamp, timestamp+1);
+      super.setTimeRange(timestamp, timestamp + 1);
     } catch(Exception e) {
       // This should never happen, unless integer overflow or something extremely wrong...
       LOG.error("TimeRange failed, likely caused by integer overflow. ", e);
@@ -362,10 +370,16 @@ public class Scan extends Query {
     return this;
   }
 
-  @Override public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {
+  @Override
+  public Scan setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp) {
     return (Scan) super.setColumnFamilyTimeRange(cf, minStamp, maxStamp);
   }
 
+  @Override
+  public Scan setColumnFamilyTimeRange(byte[] cf, TimeRange tr) {
+    return (Scan) super.setColumnFamilyTimeRange(cf, tr);
+  }
+
   /**
    * Set the start row of the scan.
    * <p>
@@ -666,13 +680,6 @@ public class Scan extends Query {
   }
 
   /**
-   * @return TimeRange
-   */
-  public TimeRange getTimeRange() {
-    return this.tr;
-  }
-
-  /**
    * @return RowFilter
    */
   @Override

http://git-wip-us.apache.org/repos/asf/hbase/blob/61220e4d/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
index c52d413..d6dc7e9 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
@@ -385,13 +385,12 @@ public final class ProtobufUtil {
     if (proto.getCfTimeRangeCount() > 0) {
       for (HBaseProtos.ColumnFamilyTimeRange cftr : proto.getCfTimeRangeList()) {
         TimeRange timeRange = protoToTimeRange(cftr.getTimeRange());
-        get.setColumnFamilyTimeRange(cftr.getColumnFamily().toByteArray(),
-            timeRange.getMin(), timeRange.getMax());
+        get.setColumnFamilyTimeRange(cftr.getColumnFamily().toByteArray(), timeRange);
       }
     }
     if (proto.hasTimeRange()) {
       TimeRange timeRange = protoToTimeRange(proto.getTimeRange());
-      get.setTimeRange(timeRange.getMin(), timeRange.getMax());
+      get.setTimeRange(timeRange);
     }
     if (proto.hasFilter()) {
       FilterProtos.Filter filter = proto.getFilter();
@@ -807,7 +806,7 @@ public final class ProtobufUtil {
     }
     if (proto.hasTimeRange()) {
       TimeRange timeRange = protoToTimeRange(proto.getTimeRange());
-      get.setTimeRange(timeRange.getMin(), timeRange.getMax());
+      get.setTimeRange(timeRange);
     }
     for (NameBytesPair attribute : proto.getAttributeList()) {
       get.setAttribute(attribute.getName(), attribute.getValue().toByteArray());
@@ -951,13 +950,12 @@ public final class ProtobufUtil {
     if (proto.getCfTimeRangeCount() > 0) {
       for (HBaseProtos.ColumnFamilyTimeRange cftr : proto.getCfTimeRangeList()) {
         TimeRange timeRange = protoToTimeRange(cftr.getTimeRange());
-        scan.setColumnFamilyTimeRange(cftr.getColumnFamily().toByteArray(),
-            timeRange.getMin(), timeRange.getMax());
+        scan.setColumnFamilyTimeRange(cftr.getColumnFamily().toByteArray(), timeRange);
       }
     }
     if (proto.hasTimeRange()) {
       TimeRange timeRange = protoToTimeRange(proto.getTimeRange());
-      scan.setTimeRange(timeRange.getMin(), timeRange.getMax());
+      scan.setTimeRange(timeRange);
     }
     if (proto.hasFilter()) {
       FilterProtos.Filter filter = proto.getFilter();

http://git-wip-us.apache.org/repos/asf/hbase/blob/61220e4d/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
index 4e75694..0f2cf1d 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
@@ -497,13 +497,12 @@ public final class ProtobufUtil {
     if (proto.getCfTimeRangeCount() > 0) {
       for (HBaseProtos.ColumnFamilyTimeRange cftr : proto.getCfTimeRangeList()) {
         TimeRange timeRange = protoToTimeRange(cftr.getTimeRange());
-        get.setColumnFamilyTimeRange(cftr.getColumnFamily().toByteArray(),
-            timeRange.getMin(), timeRange.getMax());
+        get.setColumnFamilyTimeRange(cftr.getColumnFamily().toByteArray(), timeRange);
       }
     }
     if (proto.hasTimeRange()) {
       TimeRange timeRange = protoToTimeRange(proto.getTimeRange());
-      get.setTimeRange(timeRange.getMin(), timeRange.getMax());
+      get.setTimeRange(timeRange);
     }
     if (proto.hasFilter()) {
       FilterProtos.Filter filter = proto.getFilter();
@@ -920,7 +919,7 @@ public final class ProtobufUtil {
     }
     if (proto.hasTimeRange()) {
       TimeRange timeRange = protoToTimeRange(proto.getTimeRange());
-      get.setTimeRange(timeRange.getMin(), timeRange.getMax());
+      get.setTimeRange(timeRange);
     }
     for (NameBytesPair attribute : proto.getAttributeList()) {
       get.setAttribute(attribute.getName(), attribute.getValue().toByteArray());
@@ -1064,13 +1063,12 @@ public final class ProtobufUtil {
     if (proto.getCfTimeRangeCount() > 0) {
       for (HBaseProtos.ColumnFamilyTimeRange cftr : proto.getCfTimeRangeList()) {
         TimeRange timeRange = protoToTimeRange(cftr.getTimeRange());
-        scan.setColumnFamilyTimeRange(cftr.getColumnFamily().toByteArray(),
-            timeRange.getMin(), timeRange.getMax());
+        scan.setColumnFamilyTimeRange(cftr.getColumnFamily().toByteArray(), timeRange);
       }
     }
     if (proto.hasTimeRange()) {
       TimeRange timeRange = protoToTimeRange(proto.getTimeRange());
-      scan.setTimeRange(timeRange.getMin(), timeRange.getMax());
+      scan.setTimeRange(timeRange);
     }
     if (proto.hasFilter()) {
       FilterProtos.Filter filter = proto.getFilter();