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