You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by bu...@apache.org on 2017/09/11 07:42:46 UTC
[19/50] [abbrv] hbase git commit: HBASE-18769 Make CompareFilter use
generic CompareOperator instead of internal enum
HBASE-18769 Make CompareFilter use generic CompareOperator instead of
internal enum
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b8e0a839
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b8e0a839
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b8e0a839
Branch: refs/heads/HBASE-18467
Commit: b8e0a8396f5f6ec02d9382a75f550499d85f3a23
Parents: 3319101
Author: Michael Stack <st...@apache.org>
Authored: Thu Sep 7 13:59:46 2017 -0700
Committer: Michael Stack <st...@apache.org>
Committed: Fri Sep 8 10:06:56 2017 -0700
----------------------------------------------------------------------
.../org/apache/hadoop/hbase/client/Table.java | 3 +-
.../hadoop/hbase/filter/CompareFilter.java | 128 ++++++++++++++++---
.../hbase/filter/DependentColumnFilter.java | 40 ++++--
.../hadoop/hbase/filter/FamilyFilter.java | 24 +++-
.../apache/hadoop/hbase/filter/ParseFilter.java | 41 +++++-
.../hadoop/hbase/filter/QualifierFilter.java | 23 +++-
.../apache/hadoop/hbase/filter/RowFilter.java | 23 +++-
.../filter/SingleColumnValueExcludeFilter.java | 69 +++++++++-
.../hbase/filter/SingleColumnValueFilter.java | 120 ++++++++++++-----
.../apache/hadoop/hbase/filter/ValueFilter.java | 23 +++-
.../hadoop/hbase/quotas/QuotaTableUtil.java | 15 ++-
.../hbase/filter/ByteArrayComparable.java | 2 +-
.../hbase/IntegrationTestLazyCfLoading.java | 2 +-
.../hadoop/hbase/mapreduce/CellCounter.java | 5 +-
.../hadoop/hbase/mapreduce/ExportUtils.java | 3 +-
.../hadoop/hbase/PerformanceEvaluation.java | 9 +-
.../hbase/mapred/TestTableInputFormat.java | 6 +-
.../hbase/mapreduce/TestTableInputFormat.java | 9 +-
.../hbase/replication/ReplicationTableBase.java | 3 +-
.../TableBasedReplicationQueuesImpl.java | 2 +-
.../hadoop/hbase/rest/model/ScannerModel.java | 15 ++-
.../hbase/rest/PerformanceEvaluation.java | 3 +-
.../hbase/rest/TestScannersWithFilters.java | 71 +++++-----
.../security/access/AccessControlLists.java | 3 +-
.../apache/hadoop/hbase/TestSerialization.java | 2 +-
...TestServerSideScanMetricsFromClientSide.java | 19 +--
.../hadoop/hbase/client/TestCheckAndMutate.java | 4 +-
.../hadoop/hbase/client/TestFromClientSide.java | 107 ++++++++--------
.../hbase/filter/TestDependentColumnFilter.java | 9 +-
.../apache/hadoop/hbase/filter/TestFilter.java | 115 ++++++++---------
.../hadoop/hbase/filter/TestFilterList.java | 9 +-
.../hbase/filter/TestFilterSerialization.java | 21 +--
.../hbase/filter/TestFilterWithScanLimits.java | 3 +-
.../hadoop/hbase/filter/TestFilterWrapper.java | 3 +-
.../hadoop/hbase/filter/TestParseFilter.java | 35 +++--
.../TestSingleColumnValueExcludeFilter.java | 3 +-
.../filter/TestSingleColumnValueFilter.java | 13 +-
.../hadoop/hbase/thrift2/ThriftUtilities.java | 17 +--
src/main/asciidoc/_chapters/architecture.adoc | 14 +-
39 files changed, 678 insertions(+), 338 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java
index 2409406..66d4616 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java
@@ -134,8 +134,7 @@ public interface Table extends Closeable {
*/
<R> void batchCallback(
final List<? extends Row> actions, final Object[] results, final Batch.Callback<R> callback
- )
- throws IOException, InterruptedException;
+ ) throws IOException, InterruptedException;
/**
* Extracts certain cells from a given row.
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java
index 631fbe4..e5fe6fa 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/CompareFilter.java
@@ -54,8 +54,9 @@ public abstract class CompareFilter extends FilterBase {
* Comparison operators. For filters only!
* Use {@link CompareOperator} otherwise.
* It (intentionally) has at least the below enums with same names.
- * TODO: Replace with generic {@link CompareOperator}
+ * @deprecated since 2.0.0. Will be removed in 3.0.0. Use {@link CompareOperator} instead.
*/
+ @Deprecated
@InterfaceAudience.Public
public enum CompareOp {
/** less than */
@@ -74,25 +75,43 @@ public abstract class CompareFilter extends FilterBase {
NO_OP,
}
- protected CompareOp compareOp;
+ protected CompareOperator op;
protected ByteArrayComparable comparator;
/**
* Constructor.
* @param compareOp the compare op for row matching
* @param comparator the comparator for row matching
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use other constructor.
*/
+ @Deprecated
public CompareFilter(final CompareOp compareOp,
final ByteArrayComparable comparator) {
- this.compareOp = compareOp;
+ this(CompareOperator.valueOf(compareOp.name()), comparator);
+ }
+
+ /**
+ * Constructor.
+ * @param op the compare op for row matching
+ * @param comparator the comparator for row matching
+ */
+ public CompareFilter(final CompareOperator op,
+ final ByteArrayComparable comparator) {
+ this.op = op;
this.comparator = comparator;
}
/**
* @return operator
+ * @deprecated since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.
*/
+ @Deprecated
public CompareOp getOperator() {
- return compareOp;
+ return CompareOp.valueOf(op.name());
+ }
+
+ public CompareOperator getCompareOperator() {
+ return op;
}
/**
@@ -108,6 +127,11 @@ public abstract class CompareFilter extends FilterBase {
return false;
}
+ /**
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0.
+ * Use {@link #compareRow(CompareOperator, ByteArrayComparable, Cell)}
+ */
+ @Deprecated
protected boolean compareRow(final CompareOp compareOp, final ByteArrayComparable comparator,
final Cell cell) {
if (compareOp == CompareOp.NO_OP) {
@@ -117,6 +141,20 @@ public abstract class CompareFilter extends FilterBase {
return compare(compareOp, compareResult);
}
+ protected boolean compareRow(final CompareOperator op, final ByteArrayComparable comparator,
+ final Cell cell) {
+ if (op == CompareOperator.NO_OP) {
+ return true;
+ }
+ int compareResult = CellComparator.compareRow(cell, comparator);
+ return compare(op, compareResult);
+ }
+
+ /**
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0.
+ * Use {@link #compareFamily(CompareOperator, ByteArrayComparable, Cell)}
+ */
+ @Deprecated
protected boolean compareFamily(final CompareOp compareOp, final ByteArrayComparable comparator,
final Cell cell) {
if (compareOp == CompareOp.NO_OP) {
@@ -126,8 +164,23 @@ public abstract class CompareFilter extends FilterBase {
return compare(compareOp, compareResult);
}
+ protected boolean compareFamily(final CompareOperator op, final ByteArrayComparable comparator,
+ final Cell cell) {
+ if (op == CompareOperator.NO_OP) {
+ return true;
+ }
+ int compareResult = CellComparator.compareFamily(cell, comparator);
+ return compare(op, compareResult);
+ }
+
+ /**
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0.
+ * Use {@link #compareQualifier(CompareOperator, ByteArrayComparable, Cell)}
+ */
+ @Deprecated
protected boolean compareQualifier(final CompareOp compareOp,
final ByteArrayComparable comparator, final Cell cell) {
+ // We do not call through to the non-deprecated method for perf reasons.
if (compareOp == CompareOp.NO_OP) {
return true;
}
@@ -135,8 +188,24 @@ public abstract class CompareFilter extends FilterBase {
return compare(compareOp, compareResult);
}
+ protected boolean compareQualifier(final CompareOperator op,
+ final ByteArrayComparable comparator, final Cell cell) {
+ // We do not call through to the non-deprecated method for perf reasons.
+ if (op == CompareOperator.NO_OP) {
+ return true;
+ }
+ int compareResult = CellComparator.compareQualifier(cell, comparator);
+ return compare(op, compareResult);
+ }
+
+ /**
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0.
+ * Use {@link #compareValue(CompareOperator, ByteArrayComparable, Cell)}
+ */
+ @Deprecated
protected boolean compareValue(final CompareOp compareOp, final ByteArrayComparable comparator,
final Cell cell) {
+ // We do not call through to the non-deprecated method for perf reasons.
if (compareOp == CompareOp.NO_OP) {
return true;
}
@@ -144,8 +213,17 @@ public abstract class CompareFilter extends FilterBase {
return compare(compareOp, compareResult);
}
- private boolean compare(final CompareOp compareOp, int compareResult) {
- switch (compareOp) {
+ protected boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,
+ final Cell cell) {
+ if (op == CompareOperator.NO_OP) {
+ return true;
+ }
+ int compareResult = CellComparator.compareValue(cell, comparator);
+ return compare(op, compareResult);
+ }
+
+ static boolean compare(final CompareOp op, int compareResult) {
+ switch (op) {
case LESS:
return compareResult <= 0;
case LESS_OR_EQUAL:
@@ -159,7 +237,26 @@ public abstract class CompareFilter extends FilterBase {
case GREATER:
return compareResult >= 0;
default:
- throw new RuntimeException("Unknown Compare op " + compareOp.name());
+ throw new RuntimeException("Unknown Compare op " + op.name());
+ }
+ }
+
+ static boolean compare(final CompareOperator op, int compareResult) {
+ switch (op) {
+ case LESS:
+ return compareResult <= 0;
+ case LESS_OR_EQUAL:
+ return compareResult < 0;
+ case EQUAL:
+ return compareResult != 0;
+ case NOT_EQUAL:
+ return compareResult == 0;
+ case GREATER_OR_EQUAL:
+ return compareResult > 0;
+ case GREATER:
+ return compareResult >= 0;
+ default:
+ throw new RuntimeException("Unknown Compare op " + op.name());
}
}
@@ -167,20 +264,20 @@ public abstract class CompareFilter extends FilterBase {
public static ArrayList<Object> extractArguments(ArrayList<byte []> filterArguments) {
Preconditions.checkArgument(filterArguments.size() == 2,
"Expected 2 but got: %s", filterArguments.size());
- CompareOp compareOp = ParseFilter.createCompareOp(filterArguments.get(0));
+ CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(0));
ByteArrayComparable comparator = ParseFilter.createComparator(
ParseFilter.removeQuotesFromByteArray(filterArguments.get(1)));
if (comparator instanceof RegexStringComparator ||
comparator instanceof SubstringComparator) {
- if (compareOp != CompareOp.EQUAL &&
- compareOp != CompareOp.NOT_EQUAL) {
+ if (op != CompareOperator.EQUAL &&
+ op != CompareOperator.NOT_EQUAL) {
throw new IllegalArgumentException ("A regexstring comparator and substring comparator" +
" can only be used with EQUAL and NOT_EQUAL");
}
}
ArrayList<Object> arguments = new ArrayList<>(2);
- arguments.add(compareOp);
+ arguments.add(op);
arguments.add(comparator);
return arguments;
}
@@ -191,7 +288,7 @@ public abstract class CompareFilter extends FilterBase {
FilterProtos.CompareFilter convert() {
FilterProtos.CompareFilter.Builder builder =
FilterProtos.CompareFilter.newBuilder();
- HBaseProtos.CompareType compareOp = CompareType.valueOf(this.compareOp.name());
+ HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());
builder.setCompareOp(compareOp);
if (this.comparator != null) builder.setComparator(ProtobufUtil.toComparator(this.comparator));
return builder.build();
@@ -206,9 +303,8 @@ public abstract class CompareFilter extends FilterBase {
boolean areSerializedFieldsEqual(Filter o) {
if (o == this) return true;
if (!(o instanceof CompareFilter)) return false;
-
CompareFilter other = (CompareFilter)o;
- return this.getOperator().equals(other.getOperator()) &&
+ return this.getCompareOperator().equals(other.getCompareOperator()) &&
(this.getComparator() == other.getComparator()
|| this.getComparator().areSerializedFieldsEqual(other.getComparator()));
}
@@ -217,7 +313,7 @@ public abstract class CompareFilter extends FilterBase {
public String toString() {
return String.format("%s (%s, %s)",
this.getClass().getSimpleName(),
- this.compareOp.name(),
+ this.op.name(),
Bytes.toStringBinary(this.comparator.getValue()));
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java
index 90d00dd..259f38e 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java
@@ -26,6 +26,7 @@ import java.util.Set;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
@@ -64,12 +65,35 @@ public class DependentColumnFilter extends CompareFilter {
* @param dropDependentColumn whether the column should be discarded after
* @param valueCompareOp comparison op
* @param valueComparator comparator
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use
+ * {@link #DependentColumnFilter(byte[], byte[], boolean, CompareOperator, ByteArrayComparable)}
+ * instead.
*/
+ @Deprecated
public DependentColumnFilter(final byte [] family, final byte[] qualifier,
final boolean dropDependentColumn, final CompareOp valueCompareOp,
final ByteArrayComparable valueComparator) {
- // set up the comparator
- super(valueCompareOp, valueComparator);
+ this(family, qualifier, dropDependentColumn, CompareOperator.valueOf(valueCompareOp.name()),
+ valueComparator);
+ }
+
+ /**
+ * Build a dependent column filter with value checking
+ * dependent column varies will be compared using the supplied
+ * compareOp and comparator, for usage of which
+ * refer to {@link CompareFilter}
+ *
+ * @param family dependent column family
+ * @param qualifier dependent column qualifier
+ * @param dropDependentColumn whether the column should be discarded after
+ * @param op Value comparison op
+ * @param valueComparator comparator
+ */
+ public DependentColumnFilter(final byte [] family, final byte[] qualifier,
+ final boolean dropDependentColumn, final CompareOperator op,
+ final ByteArrayComparable valueComparator) {
+ // set up the comparator
+ super(op, valueComparator);
this.columnFamily = family;
this.columnQualifier = qualifier;
this.dropDependentColumn = dropDependentColumn;
@@ -140,7 +164,7 @@ public class DependentColumnFilter extends CompareFilter {
}
// If it doesn't pass the op, skip it
if (comparator != null
- && compareValue(compareOp, comparator, c))
+ && compareValue(getCompareOperator(), comparator, c))
return ReturnCode.SKIP;
stampSet.add(c.getTimestamp());
@@ -194,11 +218,11 @@ public class DependentColumnFilter extends CompareFilter {
byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));
byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));
boolean dropDependentColumn = ParseFilter.convertByteArrayToBoolean(filterArguments.get(2));
- CompareOp compareOp = ParseFilter.createCompareOp(filterArguments.get(3));
+ CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(3));
ByteArrayComparable comparator = ParseFilter.createComparator(
ParseFilter.removeQuotesFromByteArray(filterArguments.get(4)));
return new DependentColumnFilter(family, qualifier, dropDependentColumn,
- compareOp, comparator);
+ op, comparator);
} else {
throw new IllegalArgumentException("Expected 2, 3 or 5 but got: " + filterArguments.size());
}
@@ -235,8 +259,8 @@ public class DependentColumnFilter extends CompareFilter {
} catch (InvalidProtocolBufferException e) {
throw new DeserializationException(e);
}
- final CompareOp valueCompareOp =
- CompareOp.valueOf(proto.getCompareFilter().getCompareOp().name());
+ final CompareOperator valueCompareOp =
+ CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());
ByteArrayComparable valueComparator = null;
try {
if (proto.getCompareFilter().hasComparator()) {
@@ -276,7 +300,7 @@ public class DependentColumnFilter extends CompareFilter {
Bytes.toStringBinary(this.columnFamily),
Bytes.toStringBinary(this.columnQualifier),
this.dropDependentColumn,
- this.compareOp.name(),
+ this.op.name(),
this.comparator != null ? Bytes.toStringBinary(this.comparator.getValue()) : "null");
}
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java
index a28855d..1f5c777 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FamilyFilter.java
@@ -23,6 +23,7 @@ import java.io.IOException;
import java.util.ArrayList;
import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
@@ -51,17 +52,31 @@ public class FamilyFilter extends CompareFilter {
*
* @param familyCompareOp the compare op for column family matching
* @param familyComparator the comparator for column family matching
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0.
+ * Use {@link #FamilyFilter(CompareOperator, ByteArrayComparable)}
*/
+ @Deprecated
public FamilyFilter(final CompareOp familyCompareOp,
final ByteArrayComparable familyComparator) {
super(familyCompareOp, familyComparator);
}
+ /**
+ * Constructor.
+ *
+ * @param op the compare op for column family matching
+ * @param familyComparator the comparator for column family matching
+ */
+ public FamilyFilter(final CompareOperator op,
+ final ByteArrayComparable familyComparator) {
+ super(op, familyComparator);
+ }
+
@Override
public ReturnCode filterKeyValue(Cell v) {
int familyLength = v.getFamilyLength();
if (familyLength > 0) {
- if (compareFamily(this.compareOp, this.comparator, v)) {
+ if (compareFamily(getCompareOperator(), this.comparator, v)) {
return ReturnCode.NEXT_ROW;
}
}
@@ -70,7 +85,7 @@ public class FamilyFilter extends CompareFilter {
public static Filter createFilterFromArguments(ArrayList<byte []> filterArguments) {
ArrayList<?> arguments = CompareFilter.extractArguments(filterArguments);
- CompareOp compareOp = (CompareOp)arguments.get(0);
+ CompareOperator compareOp = (CompareOperator)arguments.get(0);
ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);
return new FamilyFilter(compareOp, comparator);
}
@@ -99,8 +114,8 @@ public class FamilyFilter extends CompareFilter {
} catch (InvalidProtocolBufferException e) {
throw new DeserializationException(e);
}
- final CompareOp valueCompareOp =
- CompareOp.valueOf(proto.getCompareFilter().getCompareOp().name());
+ final CompareOperator valueCompareOp =
+ CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());
ByteArrayComparable valueComparator = null;
try {
if (proto.getCompareFilter().hasComparator()) {
@@ -113,7 +128,6 @@ public class FamilyFilter extends CompareFilter {
}
/**
- * @param other
* @return true if and only if the fields of the filter that are serialized
* are equal to the corresponding fields in other. Used for testing.
*/
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java
index 21cdd9c..3c93870 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ParseFilter.java
@@ -32,6 +32,7 @@ import java.util.Stack;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
import org.apache.hadoop.hbase.util.Bytes;
@@ -765,12 +766,40 @@ public class ParseFilter {
}
}
-/**
- * Takes a compareOperator symbol as a byte array and returns the corresponding CompareOperator
- * <p>
- * @param compareOpAsByteArray the comparatorOperator symbol as a byte array
- * @return the Compare Operator
- */
+ /**
+ * Takes a compareOperator symbol as a byte array and returns the corresponding CompareOperator
+ * @deprecated Since 2.0
+ * <p>
+ * @param compareOpAsByteArray the comparatorOperator symbol as a byte array
+ * @return the Compare Operator
+ */
+ public static CompareOperator createCompareOperator (byte [] compareOpAsByteArray) {
+ ByteBuffer compareOp = ByteBuffer.wrap(compareOpAsByteArray);
+ if (compareOp.equals(ParseConstants.LESS_THAN_BUFFER))
+ return CompareOperator.LESS;
+ else if (compareOp.equals(ParseConstants.LESS_THAN_OR_EQUAL_TO_BUFFER))
+ return CompareOperator.LESS_OR_EQUAL;
+ else if (compareOp.equals(ParseConstants.GREATER_THAN_BUFFER))
+ return CompareOperator.GREATER;
+ else if (compareOp.equals(ParseConstants.GREATER_THAN_OR_EQUAL_TO_BUFFER))
+ return CompareOperator.GREATER_OR_EQUAL;
+ else if (compareOp.equals(ParseConstants.NOT_EQUAL_TO_BUFFER))
+ return CompareOperator.NOT_EQUAL;
+ else if (compareOp.equals(ParseConstants.EQUAL_TO_BUFFER))
+ return CompareOperator.EQUAL;
+ else
+ throw new IllegalArgumentException("Invalid compare operator");
+ }
+
+ /**
+ * Takes a compareOperator symbol as a byte array and returns the corresponding CompareOperator
+ * @deprecated Since 2.0
+ * <p>
+ * @param compareOpAsByteArray the comparatorOperator symbol as a byte array
+ * @return the Compare Operator
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use {@link #createCompareOperator(byte [])}
+ */
+ @Deprecated
public static CompareFilter.CompareOp createCompareOp (byte [] compareOpAsByteArray) {
ByteBuffer compareOp = ByteBuffer.wrap(compareOpAsByteArray);
if (compareOp.equals(ParseConstants.LESS_THAN_BUFFER))
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java
index 72a50fb..9a8d461 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/QualifierFilter.java
@@ -23,6 +23,7 @@ import java.io.IOException;
import java.util.ArrayList;
import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
@@ -50,17 +51,30 @@ public class QualifierFilter extends CompareFilter {
* Constructor.
* @param op the compare op for column qualifier matching
* @param qualifierComparator the comparator for column qualifier matching
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0.
+ * Use {@link #QualifierFilter(CompareOperator, ByteArrayComparable)} instead.
*/
+ @Deprecated
public QualifierFilter(final CompareOp op,
final ByteArrayComparable qualifierComparator) {
super(op, qualifierComparator);
}
+ /**
+ * Constructor.
+ * @param op the compare op for column qualifier matching
+ * @param qualifierComparator the comparator for column qualifier matching
+ */
+ public QualifierFilter(final CompareOperator op,
+ final ByteArrayComparable qualifierComparator) {
+ super(op, qualifierComparator);
+ }
+
@Override
public ReturnCode filterKeyValue(Cell v) {
int qualifierLength = v.getQualifierLength();
if (qualifierLength > 0) {
- if (compareQualifier(this.compareOp, this.comparator, v)) {
+ if (compareQualifier(getCompareOperator(), this.comparator, v)) {
return ReturnCode.SKIP;
}
}
@@ -69,7 +83,7 @@ public class QualifierFilter extends CompareFilter {
public static Filter createFilterFromArguments(ArrayList<byte []> filterArguments) {
ArrayList<?> arguments = CompareFilter.extractArguments(filterArguments);
- CompareOp compareOp = (CompareOp)arguments.get(0);
+ CompareOperator compareOp = (CompareOperator)arguments.get(0);
ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);
return new QualifierFilter(compareOp, comparator);
}
@@ -98,8 +112,8 @@ public class QualifierFilter extends CompareFilter {
} catch (InvalidProtocolBufferException e) {
throw new DeserializationException(e);
}
- final CompareOp valueCompareOp =
- CompareOp.valueOf(proto.getCompareFilter().getCompareOp().name());
+ final CompareOperator valueCompareOp =
+ CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());
ByteArrayComparable valueComparator = null;
try {
if (proto.getCompareFilter().hasComparator()) {
@@ -112,7 +126,6 @@ public class QualifierFilter extends CompareFilter {
}
/**
- * @param other
* @return true if and only if the fields of the filter that are serialized
* are equal to the corresponding fields in other. Used for testing.
*/
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java
index 3f6136f..ade017d 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/RowFilter.java
@@ -23,6 +23,7 @@ import java.io.IOException;
import java.util.ArrayList;
import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
@@ -51,12 +52,25 @@ public class RowFilter extends CompareFilter {
* Constructor.
* @param rowCompareOp the compare op for row matching
* @param rowComparator the comparator for row matching
+ * @deprecated Since 2.0.0. Will remove in 3.0.0. Use
+ * {@link #RowFilter(CompareOperator, ByteArrayComparable)}} instead.
*/
+ @Deprecated
public RowFilter(final CompareOp rowCompareOp,
final ByteArrayComparable rowComparator) {
super(rowCompareOp, rowComparator);
}
+ /**
+ * Constructor.
+ * @param op the compare op for row matching
+ * @param rowComparator the comparator for row matching
+ */
+ public RowFilter(final CompareOperator op,
+ final ByteArrayComparable rowComparator) {
+ super(op, rowComparator);
+ }
+
@Override
public void reset() {
this.filterOutRow = false;
@@ -72,7 +86,7 @@ public class RowFilter extends CompareFilter {
@Override
public boolean filterRowKey(Cell firstRowCell) {
- if (compareRow(this.compareOp, this.comparator, firstRowCell)) {
+ if (compareRow(getCompareOperator(), this.comparator, firstRowCell)) {
this.filterOutRow = true;
}
return this.filterOutRow;
@@ -86,7 +100,7 @@ public class RowFilter extends CompareFilter {
public static Filter createFilterFromArguments(ArrayList<byte []> filterArguments) {
@SuppressWarnings("rawtypes") // for arguments
ArrayList arguments = CompareFilter.extractArguments(filterArguments);
- CompareOp compareOp = (CompareOp)arguments.get(0);
+ CompareOperator compareOp = (CompareOperator)arguments.get(0);
ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);
return new RowFilter(compareOp, comparator);
}
@@ -115,8 +129,8 @@ public class RowFilter extends CompareFilter {
} catch (InvalidProtocolBufferException e) {
throw new DeserializationException(e);
}
- final CompareOp valueCompareOp =
- CompareOp.valueOf(proto.getCompareFilter().getCompareOp().name());
+ final CompareOperator valueCompareOp =
+ CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());
ByteArrayComparable valueComparator = null;
try {
if (proto.getCompareFilter().hasComparator()) {
@@ -129,7 +143,6 @@ public class RowFilter extends CompareFilter {
}
/**
- * @param other
* @return true if and only if the fields of the filter that are serialized
* are equal to the corresponding fields in other. Used for testing.
*/
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java
index 6b155b0..74fd9c9 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java
@@ -26,6 +26,7 @@ import java.util.List;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
@@ -52,7 +53,9 @@ public class SingleColumnValueExcludeFilter extends SingleColumnValueFilter {
* @param qualifier name of column qualifier
* @param compareOp operator
* @param value value to compare column values against
+ * {@link #SingleColumnValueExcludeFilter(byte[], byte[], CompareOperator, byte[])}
*/
+ @Deprecated
public SingleColumnValueExcludeFilter(byte[] family, byte[] qualifier,
CompareOp compareOp, byte[] value) {
super(family, qualifier, compareOp, value);
@@ -61,6 +64,22 @@ public class SingleColumnValueExcludeFilter extends SingleColumnValueFilter {
/**
* Constructor for binary compare of the value of a single column. If the
* column is found and the condition passes, all columns of the row will be
+ * emitted; except for the tested column value. If the column is not found or
+ * the condition fails, the row will not be emitted.
+ *
+ * @param family name of column family
+ * @param qualifier name of column qualifier
+ * @param op operator
+ * @param value value to compare column values against
+ */
+ public SingleColumnValueExcludeFilter(byte[] family, byte[] qualifier,
+ CompareOperator op, byte[] value) {
+ super(family, qualifier, op, value);
+ }
+
+ /**
+ * Constructor for binary compare of the value of a single column. If the
+ * column is found and the condition passes, all columns of the row will be
* emitted; except for the tested column value. If the condition fails, the
* row will not be emitted.
* <p>
@@ -72,13 +91,37 @@ public class SingleColumnValueExcludeFilter extends SingleColumnValueFilter {
* @param qualifier name of column qualifier
* @param compareOp operator
* @param comparator Comparator to use.
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use
+ * {@link #SingleColumnValueExcludeFilter(byte[], byte[], CompareOperator, ByteArrayComparable)}
*/
+ @Deprecated
public SingleColumnValueExcludeFilter(byte[] family, byte[] qualifier,
CompareOp compareOp, ByteArrayComparable comparator) {
super(family, qualifier, compareOp, comparator);
}
/**
+ * Constructor for binary compare of the value of a single column. If the
+ * column is found and the condition passes, all columns of the row will be
+ * emitted; except for the tested column value. If the condition fails, the
+ * row will not be emitted.
+ * <p>
+ * Use the filterIfColumnMissing flag to set whether the rest of the columns
+ * in a row will be emitted if the specified column to check is not found in
+ * the row.
+ *
+ * @param family name of column family
+ * @param qualifier name of column qualifier
+ * @param op operator
+ * @param comparator Comparator to use.
+ */
+ public SingleColumnValueExcludeFilter(byte[] family, byte[] qualifier,
+ CompareOperator op, ByteArrayComparable comparator) {
+ super(family, qualifier, op, comparator);
+ }
+
+
+ /**
* Constructor for protobuf deserialization only.
* @param family
* @param qualifier
@@ -86,11 +129,30 @@ public class SingleColumnValueExcludeFilter extends SingleColumnValueFilter {
* @param comparator
* @param filterIfMissing
* @param latestVersionOnly
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use
+ * {@link #SingleColumnValueExcludeFilter(byte[], byte[], CompareOperator, ByteArrayComparable, boolean, boolean)}
*/
+ @Deprecated
protected SingleColumnValueExcludeFilter(final byte[] family, final byte[] qualifier,
final CompareOp compareOp, ByteArrayComparable comparator, final boolean filterIfMissing,
final boolean latestVersionOnly) {
- super(family, qualifier, compareOp, comparator, filterIfMissing, latestVersionOnly);
+ this(family, qualifier, CompareOperator.valueOf(compareOp.name()), comparator,
+ filterIfMissing, latestVersionOnly);
+ }
+
+ /**
+ * Constructor for protobuf deserialization only.
+ * @param family
+ * @param qualifier
+ * @param op
+ * @param comparator
+ * @param filterIfMissing
+ * @param latestVersionOnly
+ */
+ protected SingleColumnValueExcludeFilter(final byte[] family, final byte[] qualifier,
+ final CompareOperator op, ByteArrayComparable comparator, final boolean filterIfMissing,
+ final boolean latestVersionOnly) {
+ super(family, qualifier, op, comparator, filterIfMissing, latestVersionOnly);
}
// We cleaned result row in FilterRow to be consistent with scanning process.
@@ -151,8 +213,8 @@ public class SingleColumnValueExcludeFilter extends SingleColumnValueFilter {
}
FilterProtos.SingleColumnValueFilter parentProto = proto.getSingleColumnValueFilter();
- final CompareOp compareOp =
- CompareOp.valueOf(parentProto.getCompareOp().name());
+ final CompareOperator compareOp =
+ CompareOperator.valueOf(parentProto.getCompareOp().name());
final ByteArrayComparable comparator;
try {
comparator = ProtobufUtil.toComparator(parentProto.getComparator());
@@ -167,7 +229,6 @@ public class SingleColumnValueExcludeFilter extends SingleColumnValueFilter {
}
/**
- * @param other
* @return true if and only if the fields of the filter that are serialized
* are equal to the corresponding fields in other. Used for testing.
*/
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java
index c056833..594dbca 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellComparator;
import org.apache.hadoop.hbase.CellUtil;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
@@ -71,7 +72,7 @@ public class SingleColumnValueFilter extends FilterBase {
protected byte [] columnFamily;
protected byte [] columnQualifier;
- protected CompareOp compareOp;
+ protected CompareOperator op;
protected org.apache.hadoop.hbase.filter.ByteArrayComparable comparator;
protected boolean foundColumn = false;
protected boolean matchedColumn = false;
@@ -91,10 +92,34 @@ public class SingleColumnValueFilter extends FilterBase {
* @param qualifier name of column qualifier
* @param compareOp operator
* @param value value to compare column values against
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use
+ * {@link #SingleColumnValueFilter(byte[], byte[], CompareOperator, byte[])} instead.
*/
+ @Deprecated
public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,
final CompareOp compareOp, final byte[] value) {
- this(family, qualifier, compareOp, new org.apache.hadoop.hbase.filter.BinaryComparator(value));
+ this(family, qualifier, CompareOperator.valueOf(compareOp.name()),
+ new org.apache.hadoop.hbase.filter.BinaryComparator(value));
+ }
+
+ /**
+ * Constructor for binary compare of the value of a single column. If the
+ * column is found and the condition passes, all columns of the row will be
+ * emitted. If the condition fails, the row will not be emitted.
+ * <p>
+ * Use the filterIfColumnMissing flag to set whether the rest of the columns
+ * in a row will be emitted if the specified column to check is not found in
+ * the row.
+ *
+ * @param family name of column family
+ * @param qualifier name of column qualifier
+ * @param op operator
+ * @param value value to compare column values against
+ */
+ public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,
+ final CompareOperator op, final byte[] value) {
+ this(family, qualifier, op,
+ new org.apache.hadoop.hbase.filter.BinaryComparator(value));
}
/**
@@ -110,13 +135,36 @@ public class SingleColumnValueFilter extends FilterBase {
* @param qualifier name of column qualifier
* @param compareOp operator
* @param comparator Comparator to use.
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use
+ * {@link #SingleColumnValueFilter(byte[], byte[], CompareOperator, ByteArrayComparable)} instead.
*/
+ @Deprecated
public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,
final CompareOp compareOp,
final org.apache.hadoop.hbase.filter.ByteArrayComparable comparator) {
+ this(family, qualifier, CompareOperator.valueOf(compareOp.name()), comparator);
+ }
+
+ /**
+ * Constructor for binary compare of the value of a single column. If the
+ * column is found and the condition passes, all columns of the row will be
+ * emitted. If the condition fails, the row will not be emitted.
+ * <p>
+ * Use the filterIfColumnMissing flag to set whether the rest of the columns
+ * in a row will be emitted if the specified column to check is not found in
+ * the row.
+ *
+ * @param family name of column family
+ * @param qualifier name of column qualifier
+ * @param op operator
+ * @param comparator Comparator to use.
+ */
+ public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,
+ final CompareOperator op,
+ final org.apache.hadoop.hbase.filter.ByteArrayComparable comparator) {
this.columnFamily = family;
this.columnQualifier = qualifier;
- this.compareOp = compareOp;
+ this.op = op;
this.comparator = comparator;
}
@@ -128,21 +176,47 @@ public class SingleColumnValueFilter extends FilterBase {
* @param comparator
* @param filterIfMissing
* @param latestVersionOnly
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use
+ * {@link #SingleColumnValueFilter(byte[], byte[], CompareOperator, ByteArrayComparable,
+ * boolean, boolean)} instead.
*/
+ @Deprecated
protected SingleColumnValueFilter(final byte[] family, final byte[] qualifier,
final CompareOp compareOp, org.apache.hadoop.hbase.filter.ByteArrayComparable comparator,
final boolean filterIfMissing,
final boolean latestVersionOnly) {
- this(family, qualifier, compareOp, comparator);
+ this(family, qualifier, CompareOperator.valueOf(compareOp.name()), comparator, filterIfMissing,
+ latestVersionOnly);
+ }
+
+ /**
+ * Constructor for protobuf deserialization only.
+ * @param family
+ * @param qualifier
+ * @param op
+ * @param comparator
+ * @param filterIfMissing
+ * @param latestVersionOnly
+ */
+ protected SingleColumnValueFilter(final byte[] family, final byte[] qualifier,
+ final CompareOperator op, org.apache.hadoop.hbase.filter.ByteArrayComparable comparator,
+ final boolean filterIfMissing, final boolean latestVersionOnly) {
+ this(family, qualifier, op, comparator);
this.filterIfMissing = filterIfMissing;
this.latestVersionOnly = latestVersionOnly;
}
/**
* @return operator
+ * @deprecated since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.
*/
+ @Deprecated
public CompareOp getOperator() {
- return compareOp;
+ return CompareOp.valueOf(op.name());
+ }
+
+ public CompareOperator getCompareOperator() {
+ return op;
}
/**
@@ -195,22 +269,7 @@ public class SingleColumnValueFilter extends FilterBase {
private boolean filterColumnValue(final Cell cell) {
int compareResult = CellComparator.compareValue(cell, this.comparator);
- switch (this.compareOp) {
- case LESS:
- return compareResult <= 0;
- case LESS_OR_EQUAL:
- return compareResult < 0;
- case EQUAL:
- return compareResult != 0;
- case NOT_EQUAL:
- return compareResult == 0;
- case GREATER_OR_EQUAL:
- return compareResult > 0;
- case GREATER:
- return compareResult >= 0;
- default:
- throw new RuntimeException("Unknown Compare op " + compareOp.name());
- }
+ return CompareFilter.compare(this.op, compareResult);
}
public boolean filterRow() {
@@ -276,21 +335,21 @@ public class SingleColumnValueFilter extends FilterBase {
"Expected 4 or 6 but got: %s", filterArguments.size());
byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));
byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));
- CompareOp compareOp = ParseFilter.createCompareOp(filterArguments.get(2));
+ CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(2));
org.apache.hadoop.hbase.filter.ByteArrayComparable comparator = ParseFilter.createComparator(
ParseFilter.removeQuotesFromByteArray(filterArguments.get(3)));
if (comparator instanceof RegexStringComparator ||
comparator instanceof SubstringComparator) {
- if (compareOp != CompareOp.EQUAL &&
- compareOp != CompareOp.NOT_EQUAL) {
+ if (op != CompareOperator.EQUAL &&
+ op != CompareOperator.NOT_EQUAL) {
throw new IllegalArgumentException ("A regexstring comparator and substring comparator " +
"can only be used with EQUAL and NOT_EQUAL");
}
}
SingleColumnValueFilter filter = new SingleColumnValueFilter(family, qualifier,
- compareOp, comparator);
+ op, comparator);
if (filterArguments.size() == 6) {
boolean filterIfMissing = ParseFilter.convertByteArrayToBoolean(filterArguments.get(4));
@@ -310,7 +369,7 @@ public class SingleColumnValueFilter extends FilterBase {
if (this.columnQualifier != null) {
builder.setColumnQualifier(UnsafeByteOperations.unsafeWrap(this.columnQualifier));
}
- HBaseProtos.CompareType compareOp = CompareType.valueOf(this.compareOp.name());
+ HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());
builder.setCompareOp(compareOp);
builder.setComparator(ProtobufUtil.toComparator(this.comparator));
builder.setFilterIfMissing(this.filterIfMissing);
@@ -341,8 +400,8 @@ public class SingleColumnValueFilter extends FilterBase {
throw new DeserializationException(e);
}
- final CompareOp compareOp =
- CompareOp.valueOf(proto.getCompareOp().name());
+ final CompareOperator compareOp =
+ CompareOperator.valueOf(proto.getCompareOp().name());
final org.apache.hadoop.hbase.filter.ByteArrayComparable comparator;
try {
comparator = ProtobufUtil.toComparator(proto.getComparator());
@@ -357,7 +416,6 @@ public class SingleColumnValueFilter extends FilterBase {
}
/**
- * @param other
* @return true if and only if the fields of the filter that are serialized
* are equal to the corresponding fields in other. Used for testing.
*/
@@ -368,7 +426,7 @@ public class SingleColumnValueFilter extends FilterBase {
SingleColumnValueFilter other = (SingleColumnValueFilter)o;
return Bytes.equals(this.getFamily(), other.getFamily())
&& Bytes.equals(this.getQualifier(), other.getQualifier())
- && this.compareOp.equals(other.compareOp)
+ && this.op.equals(other.op)
&& this.getComparator().areSerializedFieldsEqual(other.getComparator())
&& this.getFilterIfMissing() == other.getFilterIfMissing()
&& this.getLatestVersionOnly() == other.getLatestVersionOnly();
@@ -387,7 +445,7 @@ public class SingleColumnValueFilter extends FilterBase {
public String toString() {
return String.format("%s (%s, %s, %s, %s)",
this.getClass().getSimpleName(), Bytes.toStringBinary(this.columnFamily),
- Bytes.toStringBinary(this.columnQualifier), this.compareOp.name(),
+ Bytes.toStringBinary(this.columnQualifier), this.op.name(),
Bytes.toStringBinary(this.comparator.getValue()));
}
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java
index 4edb57b..fcb2830 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/ValueFilter.java
@@ -23,6 +23,7 @@ import java.io.IOException;
import java.util.ArrayList;
import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
@@ -49,15 +50,27 @@ public class ValueFilter extends CompareFilter {
* Constructor.
* @param valueCompareOp the compare op for value matching
* @param valueComparator the comparator for value matching
+ * @deprecated Since 2.0.0. Will be removed in 3.0.0.
+ * Use {@link #ValueFilter(CompareOperator, ByteArrayComparable)}
*/
public ValueFilter(final CompareOp valueCompareOp,
final ByteArrayComparable valueComparator) {
super(valueCompareOp, valueComparator);
}
+ /**
+ * Constructor.
+ * @param valueCompareOp the compare op for value matching
+ * @param valueComparator the comparator for value matching
+ */
+ public ValueFilter(final CompareOperator valueCompareOp,
+ final ByteArrayComparable valueComparator) {
+ super(valueCompareOp, valueComparator);
+ }
+
@Override
public ReturnCode filterKeyValue(Cell v) {
- if (compareValue(this.compareOp, this.comparator, v)) {
+ if (compareValue(getCompareOperator(), this.comparator, v)) {
return ReturnCode.SKIP;
}
return ReturnCode.INCLUDE;
@@ -66,7 +79,7 @@ public class ValueFilter extends CompareFilter {
public static Filter createFilterFromArguments(ArrayList<byte []> filterArguments) {
@SuppressWarnings("rawtypes") // for arguments
ArrayList arguments = CompareFilter.extractArguments(filterArguments);
- CompareOp compareOp = (CompareOp)arguments.get(0);
+ CompareOperator compareOp = (CompareOperator)arguments.get(0);
ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);
return new ValueFilter(compareOp, comparator);
}
@@ -95,8 +108,8 @@ public class ValueFilter extends CompareFilter {
} catch (InvalidProtocolBufferException e) {
throw new DeserializationException(e);
}
- final CompareOp valueCompareOp =
- CompareOp.valueOf(proto.getCompareFilter().getCompareOp().name());
+ final CompareOperator valueCompareOp =
+ CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());
ByteArrayComparable valueComparator = null;
try {
if (proto.getCompareFilter().hasComparator()) {
@@ -109,7 +122,7 @@ public class ValueFilter extends CompareFilter {
}
/**
- * @param other
+
* @return true if and only if the fields of the filter that are serialized
* are equal to the corresponding fields in other. Used for testing.
*/
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaTableUtil.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaTableUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaTableUtil.java
index d1bbade..4382e36 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaTableUtil.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/quotas/QuotaTableUtil.java
@@ -32,6 +32,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellScanner;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName;
@@ -196,9 +197,9 @@ public class QuotaTableUtil {
if (!Strings.isEmpty(filter.getNamespaceFilter())) {
FilterList nsFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);
- nsFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,
+ nsFilters.addFilter(new RowFilter(CompareOperator.EQUAL,
new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));
- nsFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,
+ nsFilters.addFilter(new QualifierFilter(CompareOperator.EQUAL,
new RegexStringComparator(
getSettingsQualifierRegexForUserNamespace(filter.getNamespaceFilter()), 0)));
userFilters.addFilter(nsFilters);
@@ -206,25 +207,25 @@ public class QuotaTableUtil {
}
if (!Strings.isEmpty(filter.getTableFilter())) {
FilterList tableFilters = new FilterList(FilterList.Operator.MUST_PASS_ALL);
- tableFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,
+ tableFilters.addFilter(new RowFilter(CompareOperator.EQUAL,
new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));
- tableFilters.addFilter(new QualifierFilter(CompareFilter.CompareOp.EQUAL,
+ tableFilters.addFilter(new QualifierFilter(CompareOperator.EQUAL,
new RegexStringComparator(
getSettingsQualifierRegexForUserTable(filter.getTableFilter()), 0)));
userFilters.addFilter(tableFilters);
hasFilter = true;
}
if (!hasFilter) {
- userFilters.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,
+ userFilters.addFilter(new RowFilter(CompareOperator.EQUAL,
new RegexStringComparator(getUserRowKeyRegex(filter.getUserFilter()), 0)));
}
filterList.addFilter(userFilters);
} else if (!Strings.isEmpty(filter.getTableFilter())) {
- filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,
+ filterList.addFilter(new RowFilter(CompareOperator.EQUAL,
new RegexStringComparator(getTableRowKeyRegex(filter.getTableFilter()), 0)));
} else if (!Strings.isEmpty(filter.getNamespaceFilter())) {
- filterList.addFilter(new RowFilter(CompareFilter.CompareOp.EQUAL,
+ filterList.addFilter(new RowFilter(CompareOperator.EQUAL,
new RegexStringComparator(getNamespaceRowKeyRegex(filter.getNamespaceFilter()), 0)));
}
return filterList;
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-common/src/main/java/org/apache/hadoop/hbase/filter/ByteArrayComparable.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/filter/ByteArrayComparable.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/filter/ByteArrayComparable.java
index 8af562e..7254551 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/filter/ByteArrayComparable.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/filter/ByteArrayComparable.java
@@ -28,7 +28,7 @@ import org.apache.hadoop.hbase.util.Bytes;
/** Base class for byte array comparators */
@InterfaceAudience.Public
-// TODO Now we are deviating a lot from the actual Comparable<byte[]> what this implements, by
+// TODO Now we are deviating a lot from the actual Comparable<byte[]> that this implements, by
// adding special compareTo methods. We have to clean it. Deprecate this class and replace it
// with a more generic one which says it compares bytes (not necessary a byte array only)
// BytesComparable implements Comparable<Byte> will work?
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestLazyCfLoading.java
----------------------------------------------------------------------
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestLazyCfLoading.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestLazyCfLoading.java
index 5a22ab6..648e6a6 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestLazyCfLoading.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestLazyCfLoading.java
@@ -165,7 +165,7 @@ public class IntegrationTestLazyCfLoading {
public Filter getScanFilter() {
SingleColumnValueFilter scf = new SingleColumnValueFilter(ESSENTIAL_CF, FILTER_COLUMN,
- CompareFilter.CompareOp.EQUAL, Bytes.toBytes(ACCEPTED_VALUE));
+ CompareOperator.EQUAL, Bytes.toBytes(ACCEPTED_VALUE));
scf.setFilterIfMissing(true);
return scf;
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/CellCounter.java
----------------------------------------------------------------------
diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/CellCounter.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/CellCounter.java
index 078033e..dd8e7ec 100644
--- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/CellCounter.java
+++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/CellCounter.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.conf.Configuration;
@@ -124,8 +125,6 @@ public class CellCounter extends Configured implements Tool {
* @param values The columns.
* @param context The current context.
* @throws IOException When something is broken with the data.
- * @see org.apache.hadoop.mapreduce.Mapper#map(KEYIN, VALUEIN,
- * org.apache.hadoop.mapreduce.Mapper.Context)
*/
@Override
@@ -260,7 +259,7 @@ public class CellCounter extends Configured implements Tool {
if (filterCriteria == null) return null;
if (filterCriteria.startsWith("^")) {
String regexPattern = filterCriteria.substring(1, filterCriteria.length());
- rowFilter = new RowFilter(CompareFilter.CompareOp.EQUAL, new RegexStringComparator(regexPattern));
+ rowFilter = new RowFilter(CompareOperator.EQUAL, new RegexStringComparator(regexPattern));
} else {
rowFilter = new PrefixFilter(Bytes.toBytesBinary(filterCriteria));
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/ExportUtils.java
----------------------------------------------------------------------
diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/ExportUtils.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/ExportUtils.java
index 9cc2a80..d60dc20 100644
--- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/ExportUtils.java
+++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/ExportUtils.java
@@ -25,6 +25,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
@@ -86,7 +87,7 @@ public final class ExportUtils {
if (filterCriteria == null) return null;
if (filterCriteria.startsWith("^")) {
String regexPattern = filterCriteria.substring(1, filterCriteria.length());
- exportFilter = new RowFilter(CompareFilter.CompareOp.EQUAL, new RegexStringComparator(regexPattern));
+ exportFilter = new RowFilter(CompareOperator.EQUAL, new RegexStringComparator(regexPattern));
} else {
exportFilter = new PrefixFilter(Bytes.toBytesBinary(filterCriteria));
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
----------------------------------------------------------------------
diff --git a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
index 6b058b0..31c0883 100644
--- a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
+++ b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
@@ -1889,7 +1889,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
this.table.put(put);
RowMutations mutations = new RowMutations(bytes);
mutations.add(put);
- this.table.checkAndMutate(bytes, FAMILY_NAME, getQualifier(), CompareOp.EQUAL, bytes,
+ this.table.checkAndMutate(bytes, FAMILY_NAME, getQualifier(), CompareOperator.EQUAL, bytes,
mutations);
}
}
@@ -1906,7 +1906,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
Put put = new Put(bytes);
put.addColumn(FAMILY_NAME, getQualifier(), bytes);
this.table.put(put);
- this.table.checkAndPut(bytes, FAMILY_NAME, getQualifier(), CompareOp.EQUAL, bytes, put);
+ this.table.checkAndPut(bytes, FAMILY_NAME, getQualifier(), CompareOperator.EQUAL, bytes, put);
}
}
@@ -1924,7 +1924,8 @@ public class PerformanceEvaluation extends Configured implements Tool {
this.table.put(put);
Delete delete = new Delete(put.getRow());
delete.addColumn(FAMILY_NAME, getQualifier());
- this.table.checkAndDelete(bytes, FAMILY_NAME, getQualifier(), CompareOp.EQUAL, bytes, delete);
+ this.table.checkAndDelete(bytes, FAMILY_NAME, getQualifier(),
+ CompareOperator.EQUAL, bytes, delete);
}
}
@@ -2008,7 +2009,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
protected Scan constructScan(byte[] valuePrefix) throws IOException {
FilterList list = new FilterList();
Filter filter = new SingleColumnValueFilter(
- FAMILY_NAME, COLUMN_ZERO, CompareFilter.CompareOp.EQUAL,
+ FAMILY_NAME, COLUMN_ZERO, CompareOperator.EQUAL,
new BinaryComparator(valuePrefix)
);
list.addFilter(filter);
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
----------------------------------------------------------------------
diff --git a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
index f39a7f5..ace2ffa 100644
--- a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
+++ b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
@@ -405,7 +405,8 @@ public class TestTableInputFormat {
Bytes.toBytes("columnB") };
// mandatory
setInputColumns(inputColumns);
- Filter exampleFilter = new RowFilter(CompareOp.EQUAL, new RegexStringComparator("aa.*"));
+ Filter exampleFilter =
+ new RowFilter(CompareOperator.EQUAL, new RegexStringComparator("aa.*"));
// optional
setRowFilter(exampleFilter);
} catch (IOException exception) {
@@ -449,7 +450,8 @@ public class TestTableInputFormat {
Bytes.toBytes("columnB") };
// mandatory
setInputColumns(inputColumns);
- Filter exampleFilter = new RowFilter(CompareOp.EQUAL, new RegexStringComparator("aa.*"));
+ Filter exampleFilter =
+ new RowFilter(CompareOperator.EQUAL, new RegexStringComparator("aa.*"));
// optional
setRowFilter(exampleFilter);
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.java
----------------------------------------------------------------------
diff --git a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.java b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.java
index b4c6ab9..db50899 100644
--- a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.java
+++ b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableInputFormat.java
@@ -417,7 +417,8 @@ public class TestTableInputFormat {
for (byte[] family : inputColumns) {
scan.addFamily(family);
}
- Filter exampleFilter = new RowFilter(CompareOp.EQUAL, new RegexStringComparator("aa.*"));
+ Filter exampleFilter =
+ new RowFilter(CompareOperator.EQUAL, new RegexStringComparator("aa.*"));
scan.setFilter(exampleFilter);
setScan(scan);
} catch (IOException exception) {
@@ -445,7 +446,8 @@ public class TestTableInputFormat {
for (byte[] family : inputColumns) {
scan.addFamily(family);
}
- Filter exampleFilter = new RowFilter(CompareOp.EQUAL, new RegexStringComparator("aa.*"));
+ Filter exampleFilter =
+ new RowFilter(CompareOperator.EQUAL, new RegexStringComparator("aa.*"));
scan.setFilter(exampleFilter);
setScan(scan);
} catch (IOException exception) {
@@ -471,7 +473,8 @@ public class TestTableInputFormat {
for (byte[] family : inputColumns) {
scan.addFamily(family);
}
- Filter exampleFilter = new RowFilter(CompareOp.EQUAL, new RegexStringComparator("aa.*"));
+ Filter exampleFilter =
+ new RowFilter(CompareOperator.EQUAL, new RegexStringComparator("aa.*"));
scan.setFilter(exampleFilter);
setScan(scan);
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationTableBase.java
----------------------------------------------------------------------
diff --git a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationTableBase.java b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationTableBase.java
index fa1d2d6..d46341a 100644
--- a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationTableBase.java
+++ b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationTableBase.java
@@ -18,6 +18,7 @@
*/
package org.apache.hadoop.hbase.replication;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.shaded.com.google.common.util.concurrent.ThreadFactoryBuilder;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Abortable;
@@ -325,7 +326,7 @@ abstract class ReplicationTableBase {
protected ResultScanner getQueuesBelongingToServer(String server) throws IOException {
Scan scan = new Scan();
SingleColumnValueFilter filterMyQueues = new SingleColumnValueFilter(CF_QUEUE, COL_QUEUE_OWNER,
- CompareFilter.CompareOp.EQUAL, Bytes.toBytes(server));
+ CompareOperator.EQUAL, Bytes.toBytes(server));
scan.setFilter(filterMyQueues);
scan.addColumn(CF_QUEUE, COL_QUEUE_OWNER);
scan.addColumn(CF_QUEUE, COL_QUEUE_OWNER_HISTORY);
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/TableBasedReplicationQueuesImpl.java
----------------------------------------------------------------------
diff --git a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/TableBasedReplicationQueuesImpl.java b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/TableBasedReplicationQueuesImpl.java
index 5b08129..859bf03 100644
--- a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/TableBasedReplicationQueuesImpl.java
+++ b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/TableBasedReplicationQueuesImpl.java
@@ -433,7 +433,7 @@ public class TableBasedReplicationQueuesImpl extends ReplicationTableBase
}
scan.setMaxResultSize(1);
SingleColumnValueFilter checkOwner = new SingleColumnValueFilter(CF_QUEUE, COL_QUEUE_OWNER,
- CompareFilter.CompareOp.EQUAL, serverNameBytes);
+ CompareOperator.EQUAL, serverNameBytes);
scan.setFilter(checkOwner);
ResultScanner scanner = null;
try (Table replicationTable = getOrBlockOnReplicationTable()) {
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java
index 82ac1d0..17426e2 100644
--- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java
+++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java
@@ -31,6 +31,7 @@ import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.client.Scan;
@@ -383,10 +384,10 @@ public class ScannerModel implements ProtobufMessageHandler, Serializable {
case DependentColumnFilter:
filter = new DependentColumnFilter(Base64.decode(family),
qualifier != null ? Base64.decode(qualifier) : null,
- dropDependentColumn, CompareOp.valueOf(op), comparator.build());
+ dropDependentColumn, CompareOperator.valueOf(op), comparator.build());
break;
case FamilyFilter:
- filter = new FamilyFilter(CompareOp.valueOf(op), comparator.build());
+ filter = new FamilyFilter(CompareOperator.valueOf(op), comparator.build());
break;
case FilterList: {
List<Filter> list = new ArrayList<>(filters.size());
@@ -421,18 +422,18 @@ public class ScannerModel implements ProtobufMessageHandler, Serializable {
filter = new PrefixFilter(Base64.decode(value));
break;
case QualifierFilter:
- filter = new QualifierFilter(CompareOp.valueOf(op), comparator.build());
+ filter = new QualifierFilter(CompareOperator.valueOf(op), comparator.build());
break;
case RandomRowFilter:
filter = new RandomRowFilter(chance);
break;
case RowFilter:
- filter = new RowFilter(CompareOp.valueOf(op), comparator.build());
+ filter = new RowFilter(CompareOperator.valueOf(op), comparator.build());
break;
case SingleColumnValueFilter:
filter = new SingleColumnValueFilter(Base64.decode(family),
qualifier != null ? Base64.decode(qualifier) : null,
- CompareOp.valueOf(op), comparator.build());
+ CompareOperator.valueOf(op), comparator.build());
if (ifMissing != null) {
((SingleColumnValueFilter)filter).setFilterIfMissing(ifMissing);
}
@@ -443,7 +444,7 @@ public class ScannerModel implements ProtobufMessageHandler, Serializable {
case SingleColumnValueExcludeFilter:
filter = new SingleColumnValueExcludeFilter(Base64.decode(family),
qualifier != null ? Base64.decode(qualifier) : null,
- CompareOp.valueOf(op), comparator.build());
+ CompareOperator.valueOf(op), comparator.build());
if (ifMissing != null) {
((SingleColumnValueExcludeFilter)filter).setFilterIfMissing(ifMissing);
}
@@ -458,7 +459,7 @@ public class ScannerModel implements ProtobufMessageHandler, Serializable {
filter = new TimestampsFilter(timestamps);
break;
case ValueFilter:
- filter = new ValueFilter(CompareOp.valueOf(op), comparator.build());
+ filter = new ValueFilter(CompareOperator.valueOf(op), comparator.build());
break;
case WhileMatchFilter:
filter = new WhileMatchFilter(filters.get(0).build());
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java
index 6ed170e..476594e 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java
@@ -42,6 +42,7 @@ import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HConstants;
@@ -1235,7 +1236,7 @@ public class PerformanceEvaluation extends Configured implements Tool {
protected Scan constructScan(byte[] valuePrefix) throws IOException {
Filter filter = new SingleColumnValueFilter(
- FAMILY_NAME, QUALIFIER_NAME, CompareFilter.CompareOp.EQUAL,
+ FAMILY_NAME, QUALIFIER_NAME, CompareOperator.EQUAL,
new BinaryComparator(valuePrefix)
);
Scan scan = new Scan();
http://git-wip-us.apache.org/repos/asf/hbase/blob/b8e0a839/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestScannersWithFilters.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestScannersWithFilters.java b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestScannersWithFilters.java
index 6816e53..5e57e98 100644
--- a/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestScannersWithFilters.java
+++ b/hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/TestScannersWithFilters.java
@@ -37,6 +37,7 @@ import javax.xml.bind.Unmarshaller;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hbase.CellUtil;
+import org.apache.hadoop.hbase.CompareOperator;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HConstants;
@@ -499,7 +500,7 @@ public class TestScannersWithFilters {
// Match two keys (one from each family) in half the rows
long expectedRows = numRows / 2;
long expectedKeys = 2;
- Filter f = new QualifierFilter(CompareOp.EQUAL,
+ Filter f = new QualifierFilter(CompareOperator.EQUAL,
new BinaryComparator(Bytes.toBytes("testQualifierOne-2")));
Scan s = new Scan();
s.setFilter(f);
@@ -509,7 +510,7 @@ public class TestScannersWithFilters {
// Expect only two keys (one from each family) in half the rows
expectedRows = numRows / 2;
expectedKeys = 2;
- f = new QualifierFilter(CompareOp.LESS,
+ f = new QualifierFilter(CompareOperator.LESS,
new BinaryComparator(Bytes.toBytes("testQualifierOne-2")));
s = new Scan();
s.setFilter(f);
@@ -519,7 +520,7 @@ public class TestScannersWithFilters {
// Expect four keys (two from each family) in half the rows
expectedRows = numRows / 2;
expectedKeys = 4;
- f = new QualifierFilter(CompareOp.LESS_OR_EQUAL,
+ f = new QualifierFilter(CompareOperator.LESS_OR_EQUAL,
new BinaryComparator(Bytes.toBytes("testQualifierOne-2")));
s = new Scan();
s.setFilter(f);
@@ -530,7 +531,7 @@ public class TestScannersWithFilters {
// Only look in first group of rows
expectedRows = numRows / 2;
expectedKeys = 4;
- f = new QualifierFilter(CompareOp.NOT_EQUAL,
+ f = new QualifierFilter(CompareOperator.NOT_EQUAL,
new BinaryComparator(Bytes.toBytes("testQualifierOne-2")));
s = new Scan(HConstants.EMPTY_START_ROW, Bytes.toBytes("testRowTwo"));
s.setFilter(f);
@@ -541,7 +542,7 @@ public class TestScannersWithFilters {
// Only look in first group of rows
expectedRows = numRows / 2;
expectedKeys = 4;
- f = new QualifierFilter(CompareOp.GREATER_OR_EQUAL,
+ f = new QualifierFilter(CompareOperator.GREATER_OR_EQUAL,
new BinaryComparator(Bytes.toBytes("testQualifierOne-2")));
s = new Scan(HConstants.EMPTY_START_ROW, Bytes.toBytes("testRowTwo"));
s.setFilter(f);
@@ -552,7 +553,7 @@ public class TestScannersWithFilters {
// Only look in first group of rows
expectedRows = numRows / 2;
expectedKeys = 2;
- f = new QualifierFilter(CompareOp.GREATER,
+ f = new QualifierFilter(CompareOperator.GREATER,
new BinaryComparator(Bytes.toBytes("testQualifierOne-2")));
s = new Scan(HConstants.EMPTY_START_ROW, Bytes.toBytes("testRowTwo"));
s.setFilter(f);
@@ -562,7 +563,7 @@ public class TestScannersWithFilters {
// Look across rows and fully validate the keys and ordering
// Expect varied numbers of keys, 4 per row in group one, 6 per row in
// group two
- f = new QualifierFilter(CompareOp.NOT_EQUAL,
+ f = new QualifierFilter(CompareOperator.NOT_EQUAL,
new BinaryComparator(QUALIFIERS_ONE[2]));
s = new Scan();
s.setFilter(f);
@@ -610,7 +611,7 @@ public class TestScannersWithFilters {
// Test across rows and groups with a regex
// Filter out "test*-2"
// Expect 4 keys per row across both groups
- f = new QualifierFilter(CompareOp.NOT_EQUAL,
+ f = new QualifierFilter(CompareOperator.NOT_EQUAL,
new RegexStringComparator("test.+-2"));
s = new Scan();
s.setFilter(f);
@@ -655,7 +656,7 @@ public class TestScannersWithFilters {
// Match a single row, all keys
long expectedRows = 1;
long expectedKeys = colsPerRow;
- Filter f = new RowFilter(CompareOp.EQUAL,
+ Filter f = new RowFilter(CompareOperator.EQUAL,
new BinaryComparator(Bytes.toBytes("testRowOne-2")));
Scan s = new Scan();
s.setFilter(f);
@@ -664,7 +665,7 @@ public class TestScannersWithFilters {
// Match a two rows, one from each group, using regex
expectedRows = 2;
expectedKeys = colsPerRow;
- f = new RowFilter(CompareOp.EQUAL,
+ f = new RowFilter(CompareOperator.EQUAL,
new RegexStringComparator("testRow.+-2"));
s = new Scan();
s.setFilter(f);
@@ -674,7 +675,7 @@ public class TestScannersWithFilters {
// Expect all keys in one row
expectedRows = 1;
expectedKeys = colsPerRow;
- f = new RowFilter(CompareOp.LESS,
+ f = new RowFilter(CompareOperator.LESS,
new BinaryComparator(Bytes.toBytes("testRowOne-2")));
s = new Scan();
s.setFilter(f);
@@ -684,7 +685,7 @@ public class TestScannersWithFilters {
// Expect all keys in two rows
expectedRows = 2;
expectedKeys = colsPerRow;
- f = new RowFilter(CompareOp.LESS_OR_EQUAL,
+ f = new RowFilter(CompareOperator.LESS_OR_EQUAL,
new BinaryComparator(Bytes.toBytes("testRowOne-2")));
s = new Scan();
s.setFilter(f);
@@ -694,7 +695,7 @@ public class TestScannersWithFilters {
// Expect all keys in all but one row
expectedRows = numRows - 1;
expectedKeys = colsPerRow;
- f = new RowFilter(CompareOp.NOT_EQUAL,
+ f = new RowFilter(CompareOperator.NOT_EQUAL,
new BinaryComparator(Bytes.toBytes("testRowOne-2")));
s = new Scan();
s.setFilter(f);
@@ -704,7 +705,7 @@ public class TestScannersWithFilters {
// Expect all keys in all but one row
expectedRows = numRows - 1;
expectedKeys = colsPerRow;
- f = new RowFilter(CompareOp.GREATER_OR_EQUAL,
+ f = new RowFilter(CompareOperator.GREATER_OR_EQUAL,
new BinaryComparator(Bytes.toBytes("testRowOne-2")));
s = new Scan();
s.setFilter(f);
@@ -714,7 +715,7 @@ public class TestScannersWithFilters {
// Expect all keys in all but two rows
expectedRows = numRows - 2;
expectedKeys = colsPerRow;
- f = new RowFilter(CompareOp.GREATER,
+ f = new RowFilter(CompareOperator.GREATER,
new BinaryComparator(Bytes.toBytes("testRowOne-2")));
s = new Scan();
s.setFilter(f);
@@ -723,7 +724,7 @@ public class TestScannersWithFilters {
// Match rows not equal to testRowTwo-2
// Look across rows and fully validate the keys and ordering
// Should see all keys in all rows but testRowTwo-2
- f = new RowFilter(CompareOp.NOT_EQUAL,
+ f = new RowFilter(CompareOperator.NOT_EQUAL,
new BinaryComparator(Bytes.toBytes("testRowOne-2")));
s = new Scan();
s.setFilter(f);
@@ -770,7 +771,7 @@ public class TestScannersWithFilters {
// Test across rows and groups with a regex
// Filter out everything that doesn't match "*-2"
// Expect all keys in two rows
- f = new RowFilter(CompareOp.EQUAL,
+ f = new RowFilter(CompareOperator.EQUAL,
new RegexStringComparator(".+-2"));
s = new Scan();
s.setFilter(f);
@@ -799,7 +800,7 @@ public class TestScannersWithFilters {
// Match group one rows
long expectedRows = numRows / 2;
long expectedKeys = colsPerRow;
- Filter f = new ValueFilter(CompareOp.EQUAL,
+ Filter f = new ValueFilter(CompareOperator.EQUAL,
new BinaryComparator(Bytes.toBytes("testValueOne")));
Scan s = new Scan();
s.setFilter(f);
@@ -808,7 +809,7 @@ public class TestScannersWithFilters {
// Match group two rows
expectedRows = numRows / 2;
expectedKeys = colsPerRow;
- f = new ValueFilter(CompareOp.EQUAL,
+ f = new ValueFilter(CompareOperator.EQUAL,
new BinaryComparator(Bytes.toBytes("testValueTwo")));
s = new Scan();
s.setFilter(f);
@@ -817,7 +818,7 @@ public class TestScannersWithFilters {
// Match all values using regex
expectedRows = numRows;
expectedKeys = colsPerRow;
- f = new ValueFilter(CompareOp.EQUAL,
+ f = new ValueFilter(CompareOperator.EQUAL,
new RegexStringComparator("testValue((One)|(Two))"));
s = new Scan();
s.setFilter(f);
@@ -827,7 +828,7 @@ public class TestScannersWithFilters {
// Expect group one rows
expectedRows = numRows / 2;
expectedKeys = colsPerRow;
- f = new ValueFilter(CompareOp.LESS,
+ f = new ValueFilter(CompareOperator.LESS,
new BinaryComparator(Bytes.toBytes("testValueTwo")));
s = new Scan();
s.setFilter(f);
@@ -837,7 +838,7 @@ public class TestScannersWithFilters {
// Expect all rows
expectedRows = numRows;
expectedKeys = colsPerRow;
- f = new ValueFilter(CompareOp.LESS_OR_EQUAL,
+ f = new ValueFilter(CompareOperator.LESS_OR_EQUAL,
new BinaryComparator(Bytes.toBytes("testValueTwo")));
s = new Scan();
s.setFilter(f);
@@ -847,7 +848,7 @@ public class TestScannersWithFilters {
// Expect group one rows
expectedRows = numRows / 2;
expectedKeys = colsPerRow;
- f = new ValueFilter(CompareOp.LESS_OR_EQUAL,
+ f = new ValueFilter(CompareOperator.LESS_OR_EQUAL,
new BinaryComparator(Bytes.toBytes("testValueOne")));
s = new Scan();
s.setFilter(f);
@@ -857,7 +858,7 @@ public class TestScannersWithFilters {
// Expect half the rows
expectedRows = numRows / 2;
expectedKeys = colsPerRow;
- f = new ValueFilter(CompareOp.NOT_EQUAL,
+ f = new ValueFilter(CompareOperator.NOT_EQUAL,
new BinaryComparator(Bytes.toBytes("testValueOne")));
s = new Scan();
s.setFilter(f);
@@ -867,7 +868,7 @@ public class TestScannersWithFilters {
// Expect all rows
expectedRows = numRows;
expectedKeys = colsPerRow;
- f = new ValueFilter(CompareOp.GREATER_OR_EQUAL,
+ f = new ValueFilter(CompareOperator.GREATER_OR_EQUAL,
new BinaryComparator(Bytes.toBytes("testValueOne")));
s = new Scan();
s.setFilter(f);
@@ -877,7 +878,7 @@ public class TestScannersWithFilters {
// Expect half rows
expectedRows = numRows / 2;
expectedKeys = colsPerRow;
- f = new ValueFilter(CompareOp.GREATER,
+ f = new ValueFilter(CompareOperator.GREATER,
new BinaryComparator(Bytes.toBytes("testValueOne")));
s = new Scan();
s.setFilter(f);
@@ -886,7 +887,7 @@ public class TestScannersWithFilters {
// Match values not equal to testValueOne
// Look across rows and fully validate the keys and ordering
// Should see all keys in all group two rows
- f = new ValueFilter(CompareOp.NOT_EQUAL,
+ f = new ValueFilter(CompareOperator.NOT_EQUAL,
new BinaryComparator(Bytes.toBytes("testValueOne")));
s = new Scan();
s.setFilter(f);
@@ -921,7 +922,7 @@ public class TestScannersWithFilters {
public void testSkipFilter() throws Exception {
// Test for qualifier regex: "testQualifierOne-2"
// Should only get rows from second group, and all keys
- Filter f = new SkipFilter(new QualifierFilter(CompareOp.NOT_EQUAL,
+ Filter f = new SkipFilter(new QualifierFilter(CompareOperator.NOT_EQUAL,
new BinaryComparator(Bytes.toBytes("testQualifierOne-2"))));
Scan s = new Scan();
s.setFilter(f);
@@ -958,11 +959,11 @@ public class TestScannersWithFilters {
// regular expression and substring filters
// Use must pass all
List<Filter> filters = new ArrayList<>(3);
- filters.add(new RowFilter(CompareOp.EQUAL,
+ filters.add(new RowFilter(CompareOperator.EQUAL,
new RegexStringComparator(".+-2")));
- filters.add(new QualifierFilter(CompareOp.EQUAL,
+ filters.add(new QualifierFilter(CompareOperator.EQUAL,
new RegexStringComparator(".+-2")));
- filters.add(new ValueFilter(CompareOp.EQUAL,
+ filters.add(new ValueFilter(CompareOperator.EQUAL,
new SubstringComparator("One")));
Filter f = new FilterList(Operator.MUST_PASS_ALL, filters);
Scan s = new Scan();
@@ -976,11 +977,11 @@ public class TestScannersWithFilters {
// Test getting everything with a MUST_PASS_ONE filter including row, qf,
// val, regular expression and substring filters
filters.clear();
- filters.add(new RowFilter(CompareOp.EQUAL,
+ filters.add(new RowFilter(CompareOperator.EQUAL,
new RegexStringComparator(".+Two.+")));
- filters.add(new QualifierFilter(CompareOp.EQUAL,
+ filters.add(new QualifierFilter(CompareOperator.EQUAL,
new RegexStringComparator(".+-2")));
- filters.add(new ValueFilter(CompareOp.EQUAL,
+ filters.add(new ValueFilter(CompareOperator.EQUAL,
new SubstringComparator("One")));
f = new FilterList(Operator.MUST_PASS_ONE, filters);
s = new Scan();
@@ -1003,6 +1004,4 @@ public class TestScannersWithFilters {
};
verifyScanFull(s, kvs);
}
-
}
-