This is an automated email from the ASF dual-hosted git repository.
stoty pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git
The following commit(s) were added to refs/heads/master by this push:
new e2e2e4ea3f PHOENIX-7476 HBase 3 compatibility changes for Filters,
ByteStringer, and Paging (#2122)
e2e2e4ea3f is described below
commit e2e2e4ea3fde248b686f2647278e7991de56ef8e
Author: Istvan Toth <[email protected]>
AuthorDate: Tue Jul 8 07:45:51 2025 +0200
PHOENIX-7476 HBase 3 compatibility changes for Filters, ByteStringer, and
Paging (#2122)
Co-authored-by: Villő Szűcs <[email protected]>
---
.../apache/phoenix/cache/ServerCacheClient.java | 2 +-
.../coprocessorclient/MetaDataProtocol.java | 2 +-
.../filter/AllVersionsIndexRebuildFilter.java | 2 +-
.../phoenix/filter/ColumnProjectionFilter.java | 2 +-
.../org/apache/phoenix/filter/DelegateFilter.java | 11 ----
.../phoenix/filter/DistinctPrefixFilter.java | 2 +-
.../phoenix/filter/EmptyColumnOnlyFilter.java | 4 +-
.../EncodedQualifiersColumnProjectionFilter.java | 2 +-
.../MultiEncodedCQKeyValueComparisonFilter.java | 2 +-
.../filter/MultiKeyValueComparisonFilter.java | 2 +-
.../org/apache/phoenix/filter/PagingFilter.java | 16 ++---
.../phoenix/filter/RowKeyComparisonFilter.java | 2 +-
.../filter/SingleKeyValueComparisonFilter.java | 2 +-
.../org/apache/phoenix/filter/SkipScanFilter.java | 2 +-
.../filter/SystemCatalogViewIndexIdFilter.java | 2 +-
.../apache/phoenix/filter/UnverifiedRowFilter.java | 2 +-
.../filter/ApplyAndFilterDeletesFilter.java | 2 +-
.../ColumnTrackingNextLargestTimestampFilter.java | 2 +-
.../index/covered/filter/MaxTimestampFilter.java | 2 +-
.../index/covered/filter/NewerTimestampFilter.java | 2 +-
.../org/apache/phoenix/index/CDCTableInfo.java | 2 +-
.../org/apache/phoenix/index/IndexMaintainer.java | 2 +-
.../java/org/apache/phoenix/parse/PFunction.java | 2 +-
.../org/apache/phoenix/protobuf/ProtobufUtil.java | 2 +-
.../phoenix/query/ConnectionQueryServicesImpl.java | 2 +-
.../org/apache/phoenix/schema/PColumnImpl.java | 2 +-
.../java/org/apache/phoenix/schema/PTableImpl.java | 2 +-
.../schema/transform/TransformMaintainer.java | 2 +-
.../phoenix/util/ValidateLastDDLTimestampUtil.java | 2 +-
.../apache/phoenix/coprocessor/SuffixFilter.java | 72 ----------------------
.../end2end/PhoenixRegionServerEndpointIT.java | 2 +-
.../index/InvalidIndexStateClientSideIT.java | 2 +-
.../apache/phoenix/filter/SkipScanFilterTest.java | 4 +-
.../apache/phoenix/compat/hbase/ByteStringer.java | 36 +++--------
.../phoenix/compat/hbase/CompatDelegateFilter.java | 35 ++++-------
.../phoenix/compat/hbase/CompatPagingFilter.java | 27 +++-----
.../apache/phoenix/compat/hbase/package-info.java | 30 +--------
.../apache/phoenix/compat/hbase/ByteStringer.java | 36 +++--------
.../phoenix/compat/hbase/CompatDelegateFilter.java | 35 ++++-------
.../phoenix/compat/hbase/CompatPagingFilter.java | 27 +++-----
.../apache/phoenix/compat/hbase/package-info.java | 30 +--------
.../apache/phoenix/compat/hbase/ByteStringer.java | 36 +++--------
.../phoenix/compat/hbase/CompatDelegateFilter.java | 26 +++-----
.../phoenix/compat/hbase/CompatPagingFilter.java | 27 +++-----
.../apache/phoenix/compat/hbase/package-info.java | 30 +--------
.../apache/phoenix/compat/hbase/ByteStringer.java | 36 +++--------
.../phoenix/compat/hbase/CompatDelegateFilter.java | 35 ++++-------
.../phoenix/compat/hbase/CompatPagingFilter.java | 27 +++-----
.../apache/phoenix/compat/hbase/package-info.java | 30 +--------
49 files changed, 172 insertions(+), 494 deletions(-)
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/cache/ServerCacheClient.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/cache/ServerCacheClient.java
index 9c6bb11695..f538e2ea4d 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/cache/ServerCacheClient.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/cache/ServerCacheClient.java
@@ -47,8 +47,8 @@ import org.apache.hadoop.hbase.client.coprocessor.Batch;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils.BlockingRpcCallback;
import org.apache.hadoop.hbase.ipc.ServerRpcController;
-import org.apache.hadoop.hbase.util.ByteStringer;
import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.compile.QueryPlan;
import org.apache.phoenix.compile.ScanRanges;
import org.apache.phoenix.coprocessorclient.MetaDataProtocol;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/coprocessorclient/MetaDataProtocol.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/coprocessorclient/MetaDataProtocol.java
index ff0f4d15df..7d9085902b 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/coprocessorclient/MetaDataProtocol.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/coprocessorclient/MetaDataProtocol.java
@@ -24,7 +24,7 @@ import java.util.List;
import java.util.NavigableMap;
import java.util.TreeMap;
-import org.apache.hadoop.hbase.util.ByteStringer;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.coprocessor.generated.MetaDataProtos;
import
org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse;
import org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataService;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
index f52c933679..a4663b60b7 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
@@ -33,7 +33,7 @@ public class AllVersionsIndexRebuildFilter extends
DelegateFilter {
super(originalFilter);
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell v) throws IOException {
return filterCell(v);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/ColumnProjectionFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/ColumnProjectionFilter.java
index b58b9b8a9c..60c3971c28 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/ColumnProjectionFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/ColumnProjectionFilter.java
@@ -185,7 +185,7 @@ public class ColumnProjectionFilter extends FilterBase
implements Writable {
return "";
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell ignored) throws IOException {
return filterCell(ignored);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/DelegateFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/DelegateFilter.java
index 1f73241972..fff129297d 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/DelegateFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/DelegateFilter.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import java.util.List;
import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FilterBase;
@@ -38,11 +37,6 @@ public class DelegateFilter extends FilterBase {
delegate.reset();
}
- @Override
- public boolean filterRowKey(byte[] buffer, int offset, int length) throws
IOException {
- return delegate.filterRowKey(buffer, offset, length);
- }
-
@Override
public boolean filterRowKey(Cell cell) throws IOException {
return delegate.filterRowKey(cell);
@@ -58,11 +52,6 @@ public class DelegateFilter extends FilterBase {
return delegate.filterAllRemaining();
}
- @Override
- public ReturnCode filterKeyValue(Cell v) throws IOException {
- return delegate.filterKeyValue(v);
- }
-
@Override
public Cell transformCell(Cell v) throws IOException {
return delegate.transformCell(v);
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/DistinctPrefixFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/DistinctPrefixFilter.java
index e3e78d4c23..04626c7394 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/DistinctPrefixFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/DistinctPrefixFilter.java
@@ -57,7 +57,7 @@ public class DistinctPrefixFilter extends FilterBase
implements Writable {
this.offset = offset;
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell v) throws IOException {
return filterCell(v);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/EmptyColumnOnlyFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/EmptyColumnOnlyFilter.java
index b31ed26356..058a7251be 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/EmptyColumnOnlyFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/EmptyColumnOnlyFilter.java
@@ -56,8 +56,8 @@ public class EmptyColumnOnlyFilter extends FilterBase
implements Writable {
found = false;
first = true;
}
- @Deprecated
- @Override
+
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(final Cell c) throws IOException {
return filterCell(c);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/EncodedQualifiersColumnProjectionFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/EncodedQualifiersColumnProjectionFilter.java
index ef1d161dea..8c35207599 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/EncodedQualifiersColumnProjectionFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/EncodedQualifiersColumnProjectionFilter.java
@@ -148,7 +148,7 @@ public class EncodedQualifiersColumnProjectionFilter
extends FilterBase implemen
return sb.toString();
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell ignored) throws IOException {
return filterCell(ignored);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/MultiEncodedCQKeyValueComparisonFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/MultiEncodedCQKeyValueComparisonFilter.java
index 9118094b01..0d34891f7f 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/MultiEncodedCQKeyValueComparisonFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/MultiEncodedCQKeyValueComparisonFilter.java
@@ -215,7 +215,7 @@ public class MultiEncodedCQKeyValueComparisonFilter extends
BooleanExpressionFil
return qualifier >= whereExpressionMinQualifier ?
whereExpressionQualifiers.get(qualifier - whereExpressionMinQualifier) : false;
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell cell) {
return filterCell(cell);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/MultiKeyValueComparisonFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/MultiKeyValueComparisonFilter.java
index 87a56d4a8e..dc929df4b9 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/MultiKeyValueComparisonFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/MultiKeyValueComparisonFilter.java
@@ -214,7 +214,7 @@ public abstract class MultiKeyValueComparisonFilter extends
BooleanExpressionFil
expression.accept(visitor);
}
- @Override
+ // No @Override for Hbase 3 compatibility
public ReturnCode filterKeyValue(Cell cell) {
return filterCell(cell);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/PagingFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/PagingFilter.java
index eb9eb3b426..38d892c947 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/PagingFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/PagingFilter.java
@@ -29,9 +29,9 @@ import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.DoNotRetryIOException;
import org.apache.hadoop.hbase.exceptions.DeserializationException;
import org.apache.hadoop.hbase.filter.Filter;
-import org.apache.hadoop.hbase.filter.FilterBase;
import org.apache.hadoop.hbase.util.Writables;
import org.apache.hadoop.io.Writable;
+import org.apache.phoenix.compat.hbase.CompatPagingFilter;
import org.apache.phoenix.util.EnvironmentEdgeManager;
/**
@@ -71,19 +71,19 @@ import org.apache.phoenix.util.EnvironmentEdgeManager;
* filterRowKey(). In this method, PagingFilter records the last row that is
scanned.
*
*/
-public class PagingFilter extends FilterBase implements Writable {
+public class PagingFilter extends CompatPagingFilter implements Writable {
private long pageSizeMs;
private long startTime;
// tracks the row we last visited
private Cell currentCell;
private boolean isStopped;
- private Filter delegate = null;
public PagingFilter() {
+ super(null);
}
public PagingFilter(Filter delegate, long pageSizeMs) {
- this.delegate = delegate;
+ super(delegate);
this.pageSizeMs = pageSizeMs;
}
@@ -208,14 +208,6 @@ public class PagingFilter extends FilterBase implements
Writable {
return super.isFamilyEssential(name);
}
- @Override
- public ReturnCode filterKeyValue(Cell v) throws IOException {
- if (delegate != null) {
- return delegate.filterKeyValue(v);
- }
- return super.filterKeyValue(v);
- }
-
@Override
public Filter.ReturnCode filterCell(Cell c) throws IOException {
if (delegate != null) {
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/RowKeyComparisonFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/RowKeyComparisonFilter.java
index ebe50e78dc..da9d89a01d 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/RowKeyComparisonFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/RowKeyComparisonFilter.java
@@ -65,7 +65,7 @@ public class RowKeyComparisonFilter extends
BooleanExpressionFilter {
* Evaluate in filterKeyValue instead of filterRowKey, because HBASE-6562
causes filterRowKey
* to be called with deleted or partial row keys.
*/
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell v) {
return filterCell(v);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SingleKeyValueComparisonFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SingleKeyValueComparisonFilter.java
index a55ed3784d..5dd3257ff4 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SingleKeyValueComparisonFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SingleKeyValueComparisonFilter.java
@@ -71,7 +71,7 @@ public abstract class SingleKeyValueComparisonFilter extends
BooleanExpressionFi
return inputTuple.size() > 0;
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell keyValue) {
return filterCell(keyValue);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
index b0d75c20eb..344525869a 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SkipScanFilter.java
@@ -166,7 +166,7 @@ public class SkipScanFilter extends FilterBase implements
Writable {
return isDone;
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell kv) {
return filterCell(kv);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SystemCatalogViewIndexIdFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SystemCatalogViewIndexIdFilter.java
index 6aa8c559a0..3408ea8bba 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SystemCatalogViewIndexIdFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/SystemCatalogViewIndexIdFilter.java
@@ -54,7 +54,7 @@ public class SystemCatalogViewIndexIdFilter extends
FilterBase implements Writab
this.clientVersion = clientVersion;
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell keyValue) {
return filterCell(keyValue);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/UnverifiedRowFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/UnverifiedRowFilter.java
index 400b48d477..fa8b40232e 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/UnverifiedRowFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/filter/UnverifiedRowFilter.java
@@ -68,7 +68,7 @@ public class UnverifiedRowFilter extends DelegateFilter {
delegate.reset();
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell v) throws IOException {
return filterCell(v);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/ApplyAndFilterDeletesFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/ApplyAndFilterDeletesFilter.java
index 51d82fd83c..07df2f06d5 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/ApplyAndFilterDeletesFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/ApplyAndFilterDeletesFilter.java
@@ -102,7 +102,7 @@ public class ApplyAndFilterDeletesFilter extends FilterBase
{
return currentHint.getHint(PhoenixKeyValueUtil.maybeCopyCell(peeked));
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell next) {
return this.filterCell(next);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/ColumnTrackingNextLargestTimestampFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/ColumnTrackingNextLargestTimestampFilter.java
index 21250af186..e59ebdfbdf 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/ColumnTrackingNextLargestTimestampFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/ColumnTrackingNextLargestTimestampFilter.java
@@ -47,7 +47,7 @@ public class ColumnTrackingNextLargestTimestampFilter extends
FilterBase {
this.column = toTrack;
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell v) {
return this.filterCell(v);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/MaxTimestampFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/MaxTimestampFilter.java
index b9640d7e66..df56c35fa3 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/MaxTimestampFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/MaxTimestampFilter.java
@@ -51,7 +51,7 @@ public class MaxTimestampFilter extends FilterBase {
return kv;
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell v) {
return this.filterCell(v);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
index 85d16d9015..cb3dc10c58 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
@@ -34,7 +34,7 @@ public class NewerTimestampFilter extends FilterBase {
this.timestamp = timestamp;
}
- @Override
+ // No @Override for HBase 3 compatibility
public ReturnCode filterKeyValue(Cell ignored) {
return this.filterCell(ignored);
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/index/CDCTableInfo.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/index/CDCTableInfo.java
index 02fe008ab3..192b981805 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/index/CDCTableInfo.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/index/CDCTableInfo.java
@@ -18,7 +18,7 @@
package org.apache.phoenix.index;
-import org.apache.hadoop.hbase.util.ByteStringer;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.compile.StatementContext;
import org.apache.phoenix.compile.TupleProjectionCompiler;
import org.apache.phoenix.coprocessor.generated.CDCInfoProtos;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/index/IndexMaintainer.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/index/IndexMaintainer.java
index 9b920af2a8..05fc20bec6 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/index/IndexMaintainer.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/index/IndexMaintainer.java
@@ -51,11 +51,11 @@ import org.apache.hadoop.hbase.client.Durability;
import org.apache.hadoop.hbase.client.Mutation;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.ByteStringer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Pair;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.io.WritableUtils;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.compile.ColumnResolver;
import org.apache.phoenix.compile.FromCompiler;
import org.apache.phoenix.compile.IndexExpressionCompiler;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/parse/PFunction.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/parse/PFunction.java
index f914fbae86..4489cff7c0 100644
--- a/phoenix-core-client/src/main/java/org/apache/phoenix/parse/PFunction.java
+++ b/phoenix-core-client/src/main/java/org/apache/phoenix/parse/PFunction.java
@@ -22,7 +22,7 @@ import java.util.Collections;
import java.util.List;
import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.util.ByteStringer;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.coprocessor.generated.PFunctionProtos;
import org.apache.phoenix.coprocessor.generated.PFunctionProtos.PFunctionArg;
import org.apache.phoenix.expression.LiteralExpression;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/protobuf/ProtobufUtil.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/protobuf/ProtobufUtil.java
index 66528dc5c9..18a30368cb 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/protobuf/ProtobufUtil.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/protobuf/ProtobufUtil.java
@@ -28,8 +28,8 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.ipc.ServerRpcController;
import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;
import
org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;
-import org.apache.hadoop.hbase.util.ByteStringer;
import org.apache.hadoop.util.StringUtils;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import
org.apache.phoenix.coprocessor.generated.ChildLinkMetaDataProtos.CreateViewAddChildLinkRequest;
import org.apache.phoenix.coprocessor.generated.MetaDataProtos;
import org.apache.phoenix.coprocessor.generated.PTableProtos;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
index b2c7f3b4e3..11d672c3b2 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
@@ -192,13 +192,13 @@ import
org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;
import org.apache.hadoop.hbase.security.AccessDeniedException;
import org.apache.hadoop.hbase.security.User;
import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;
-import org.apache.hadoop.hbase.util.ByteStringer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Pair;
import org.apache.hadoop.hbase.util.Threads;
import org.apache.hadoop.hbase.util.VersionInfo;
import org.apache.hadoop.hbase.zookeeper.ZKConfig;
import org.apache.hadoop.ipc.RemoteException;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.compile.MutationPlan;
import
org.apache.phoenix.coprocessor.generated.ChildLinkMetaDataProtos.ChildLinkMetaDataService;
import org.apache.phoenix.coprocessor.generated.MetaDataProtos;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/schema/PColumnImpl.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/schema/PColumnImpl.java
index e3123a7502..32c4c1820f 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/schema/PColumnImpl.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/schema/PColumnImpl.java
@@ -18,7 +18,7 @@
package org.apache.phoenix.schema;
import org.apache.hadoop.hbase.HConstants;
-import org.apache.hadoop.hbase.util.ByteStringer;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.coprocessor.generated.PTableProtos;
import org.apache.phoenix.query.QueryConstants;
import org.apache.phoenix.schema.types.PDataType;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/schema/PTableImpl.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/schema/PTableImpl.java
index 4d8f592be1..6d13c7c1a2 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/schema/PTableImpl.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/schema/PTableImpl.java
@@ -58,9 +58,9 @@ import org.apache.hadoop.hbase.client.Durability;
import org.apache.hadoop.hbase.client.Mutation;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.ByteStringer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Pair;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.compile.ExpressionCompiler;
import org.apache.phoenix.compile.FromCompiler;
import org.apache.phoenix.compile.QueryPlan;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/schema/transform/TransformMaintainer.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/schema/transform/TransformMaintainer.java
index 50c9948faa..ffd82ac6b4 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/schema/transform/TransformMaintainer.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/schema/transform/TransformMaintainer.java
@@ -24,9 +24,9 @@ import
org.apache.phoenix.thirdparty.com.google.common.collect.Sets;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.ByteStringer;
import org.apache.hadoop.hbase.util.Pair;
import org.apache.hadoop.io.WritableUtils;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.coprocessor.generated.ServerCachingProtos;
import org.apache.phoenix.expression.Expression;
import org.apache.phoenix.expression.ExpressionType;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/util/ValidateLastDDLTimestampUtil.java
b/phoenix-core-client/src/main/java/org/apache/phoenix/util/ValidateLastDDLTimestampUtil.java
index faab529c03..1d654f0ca5 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/util/ValidateLastDDLTimestampUtil.java
+++
b/phoenix-core-client/src/main/java/org/apache/phoenix/util/ValidateLastDDLTimestampUtil.java
@@ -28,7 +28,7 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.client.Admin;
-import org.apache.hadoop.hbase.util.ByteStringer;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.coprocessor.generated.RegionServerEndpointProtos;
import org.apache.phoenix.exception.StaleMetadataCacheException;
import org.apache.phoenix.jdbc.PhoenixConnection;
diff --git
a/phoenix-core-server/src/main/java/org/apache/phoenix/coprocessor/SuffixFilter.java
b/phoenix-core-server/src/main/java/org/apache/phoenix/coprocessor/SuffixFilter.java
deleted file mode 100644
index 57dffbc9f7..0000000000
---
a/phoenix-core-server/src/main/java/org/apache/phoenix/coprocessor/SuffixFilter.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.phoenix.coprocessor;
-
-import java.io.IOException;
-
-import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.exceptions.DeserializationException;
-import org.apache.hadoop.hbase.filter.FilterBase;
-import org.apache.hadoop.hbase.util.Bytes;
-
-/**
- *
- * Matches rows that end with a given byte array suffix
- *
- *
- * @since 3.0
- */
-public class SuffixFilter extends FilterBase {
- protected byte[] suffix = null;
-
- public SuffixFilter(final byte[] suffix) {
- this.suffix = suffix;
- }
-
- @Override
- public byte[] toByteArray() throws IOException {
- return suffix;
- }
-
- @Override
- public ReturnCode filterCell(Cell ignored) throws IOException {
- return ReturnCode.INCLUDE;
- }
-
- @Override
- public ReturnCode filterKeyValue(Cell ignored) throws IOException {
- return ReturnCode.INCLUDE;
- }
-
- @Override
- public boolean filterRowKey(byte[] buffer, int offset, int length) {
- if (buffer == null || this.suffix == null) return true;
- if (length < suffix.length) return true;
- // if they are equal, return false => pass row
- // else return true, filter row
- // if we are passed the suffix, set flag
- int cmp = Bytes.compareTo(buffer, offset + (length -
this.suffix.length),
- this.suffix.length, this.suffix, 0, this.suffix.length);
- return cmp != 0;
- }
-
-
- public static SuffixFilter parseFrom(final byte [] pbBytes) throws
DeserializationException {
- return new SuffixFilter(pbBytes);
- }
-}
\ No newline at end of file
diff --git
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRegionServerEndpointIT.java
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRegionServerEndpointIT.java
index 670aba7f15..e1c89593d7 100644
---
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRegionServerEndpointIT.java
+++
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRegionServerEndpointIT.java
@@ -20,7 +20,7 @@ package org.apache.phoenix.end2end;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.ipc.ServerRpcController;
import org.apache.hadoop.hbase.regionserver.HRegionServer;
-import org.apache.hadoop.hbase.util.ByteStringer;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.phoenix.coprocessor.PhoenixRegionServerEndpoint;
import org.apache.phoenix.coprocessor.generated.RegionServerEndpointProtos;
diff --git
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/InvalidIndexStateClientSideIT.java
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/InvalidIndexStateClientSideIT.java
index 1228afbfcb..1111c563f7 100644
---
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/InvalidIndexStateClientSideIT.java
+++
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/InvalidIndexStateClientSideIT.java
@@ -31,7 +31,7 @@ import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.client.coprocessor.Batch;
import org.apache.hadoop.hbase.ipc.CoprocessorRpcUtils.BlockingRpcCallback;
import org.apache.hadoop.hbase.ipc.ServerRpcController;
-import org.apache.hadoop.hbase.util.ByteStringer;
+import org.apache.phoenix.compat.hbase.ByteStringer;
import org.apache.phoenix.coprocessor.generated.MetaDataProtos.GetTableRequest;
import
org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataResponse;
import org.apache.phoenix.coprocessor.generated.MetaDataProtos.MetaDataService;
diff --git
a/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterTest.java
b/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterTest.java
index 1e02c9de9d..025daa060e 100644
---
a/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterTest.java
+++
b/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterTest.java
@@ -646,7 +646,7 @@ public class SkipScanFilterTest extends TestCase {
KeyValue kv = KeyValueUtil.createFirstOnRow(rowkey);
skipper.reset();
assertFalse(skipper.filterAllRemaining());
- assertFalse(skipper.filterRowKey(kv.getBuffer(),
kv.getRowOffset(), kv.getRowLength()));
+ assertFalse(skipper.filterRowKey(kv));
assertEquals(ReturnCode.SEEK_NEXT_USING_HINT,
skipper.filterCell(kv));
assertEquals(KeyValueUtil.createFirstOnRow(hint),
skipper.getNextCellHint(kv));
@@ -672,7 +672,7 @@ public class SkipScanFilterTest extends TestCase {
KeyValue kv = KeyValueUtil.createFirstOnRow(rowkey);
skipper.reset();
assertFalse(skipper.filterAllRemaining());
- assertFalse(skipper.filterRowKey(kv.getBuffer(),
kv.getRowOffset(), kv.getRowLength()));
+ assertFalse(skipper.filterRowKey(kv));
assertEquals(kv.toString(), ReturnCode.INCLUDE_AND_NEXT_COL,
skipper.filterCell(kv));
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
similarity index 52%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
index 85d16d9015..595aa31eae 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
@@ -15,33 +15,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package org.apache.phoenix.compat.hbase;
-package org.apache.phoenix.hbase.index.covered.filter;
+import com.google.protobuf.ByteString;
-import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.filter.FilterBase;
+// This has different signature in the HBase 2 and 3 modules
+// This only comes together after the maven-replacer plugin relocates all
protobuf code.
+public class ByteStringer {
-/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
- */
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
-
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
-
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
+ private ByteStringer() { }
-}
\ No newline at end of file
+ public static ByteString wrap(final byte[] array) {
+ return org.apache.hadoop.hbase.util.ByteStringer.wrap(array);
+ }
+}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
similarity index 58%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
index 85d16d9015..83cd70c73c 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
@@ -15,33 +15,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package org.apache.phoenix.compat.hbase;
-package org.apache.phoenix.hbase.index.covered.filter;
+import java.io.IOException;
import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FilterBase;
-/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
- */
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
+public class CompatDelegateFilter extends FilterBase {
+ protected Filter delegate = null;
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
+ public CompatDelegateFilter(Filter delegate) {
+ this.delegate = delegate;
+ }
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
+ @Override
+ public ReturnCode filterKeyValue(Cell v) throws IOException {
+ return delegate.filterKeyValue(v);
+ }
-}
\ No newline at end of file
+}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
b/phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
similarity index 58%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
copy to
phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
index f52c933679..547d29dd35 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
+++
b/phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
@@ -15,36 +15,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.phoenix.filter;
+package org.apache.phoenix.compat.hbase;
import java.io.IOException;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.filter.Filter;
+import org.apache.hadoop.hbase.filter.FilterBase;
-/**
- * This filter overrides the behavior of delegate so that we do not jump to
the next
- * column as soon as we find a value for a column but rather include all
versions which is
- * needed for rebuilds.
- */
-public class AllVersionsIndexRebuildFilter extends DelegateFilter {
+public abstract class CompatPagingFilter extends FilterBase {
+ protected Filter delegate = null;
- public AllVersionsIndexRebuildFilter(Filter originalFilter) {
- super(originalFilter);
+ public CompatPagingFilter(Filter delegate) {
+ this.delegate = delegate;
}
@Override
public ReturnCode filterKeyValue(Cell v) throws IOException {
- return filterCell(v);
- }
- @Override
- public ReturnCode filterCell(Cell v) throws IOException {
- ReturnCode delegateCode = super.filterCell(v);
- if (delegateCode == ReturnCode.INCLUDE_AND_NEXT_COL) {
- return ReturnCode.INCLUDE;
- } else {
- return delegateCode;
+ if (delegate != null) {
+ return delegate.filterKeyValue(v);
}
+ return super.filterKeyValue(v);
}
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
similarity index 52%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
index 85d16d9015..7c098f4971 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.4.1/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
@@ -16,32 +16,8 @@
* limitations under the License.
*/
-package org.apache.phoenix.hbase.index.covered.filter;
-
-import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.filter.FilterBase;
-
/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
+ * This package contains compatibility classes for bridging differences
+ * between different versions of HBase.
*/
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
-
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
-
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
-
-}
\ No newline at end of file
+package org.apache.phoenix.compat.hbase;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
similarity index 52%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
index 85d16d9015..595aa31eae 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
@@ -15,33 +15,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package org.apache.phoenix.compat.hbase;
-package org.apache.phoenix.hbase.index.covered.filter;
+import com.google.protobuf.ByteString;
-import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.filter.FilterBase;
+// This has different signature in the HBase 2 and 3 modules
+// This only comes together after the maven-replacer plugin relocates all
protobuf code.
+public class ByteStringer {
-/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
- */
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
-
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
-
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
+ private ByteStringer() { }
-}
\ No newline at end of file
+ public static ByteString wrap(final byte[] array) {
+ return org.apache.hadoop.hbase.util.ByteStringer.wrap(array);
+ }
+}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
similarity index 58%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
index 85d16d9015..83cd70c73c 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
@@ -15,33 +15,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package org.apache.phoenix.compat.hbase;
-package org.apache.phoenix.hbase.index.covered.filter;
+import java.io.IOException;
import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FilterBase;
-/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
- */
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
+public class CompatDelegateFilter extends FilterBase {
+ protected Filter delegate = null;
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
+ public CompatDelegateFilter(Filter delegate) {
+ this.delegate = delegate;
+ }
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
+ @Override
+ public ReturnCode filterKeyValue(Cell v) throws IOException {
+ return delegate.filterKeyValue(v);
+ }
-}
\ No newline at end of file
+}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
b/phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
similarity index 58%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
copy to
phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
index f52c933679..547d29dd35 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
+++
b/phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
@@ -15,36 +15,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.phoenix.filter;
+package org.apache.phoenix.compat.hbase;
import java.io.IOException;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.filter.Filter;
+import org.apache.hadoop.hbase.filter.FilterBase;
-/**
- * This filter overrides the behavior of delegate so that we do not jump to
the next
- * column as soon as we find a value for a column but rather include all
versions which is
- * needed for rebuilds.
- */
-public class AllVersionsIndexRebuildFilter extends DelegateFilter {
+public abstract class CompatPagingFilter extends FilterBase {
+ protected Filter delegate = null;
- public AllVersionsIndexRebuildFilter(Filter originalFilter) {
- super(originalFilter);
+ public CompatPagingFilter(Filter delegate) {
+ this.delegate = delegate;
}
@Override
public ReturnCode filterKeyValue(Cell v) throws IOException {
- return filterCell(v);
- }
- @Override
- public ReturnCode filterCell(Cell v) throws IOException {
- ReturnCode delegateCode = super.filterCell(v);
- if (delegateCode == ReturnCode.INCLUDE_AND_NEXT_COL) {
- return ReturnCode.INCLUDE;
- } else {
- return delegateCode;
+ if (delegate != null) {
+ return delegate.filterKeyValue(v);
}
+ return super.filterKeyValue(v);
}
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
similarity index 52%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
index 85d16d9015..7c098f4971 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.5.0/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
@@ -16,32 +16,8 @@
* limitations under the License.
*/
-package org.apache.phoenix.hbase.index.covered.filter;
-
-import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.filter.FilterBase;
-
/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
+ * This package contains compatibility classes for bridging differences
+ * between different versions of HBase.
*/
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
-
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
-
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
-
-}
\ No newline at end of file
+package org.apache.phoenix.compat.hbase;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
similarity index 52%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
index 85d16d9015..595aa31eae 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
@@ -15,33 +15,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package org.apache.phoenix.compat.hbase;
-package org.apache.phoenix.hbase.index.covered.filter;
+import com.google.protobuf.ByteString;
-import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.filter.FilterBase;
+// This has different signature in the HBase 2 and 3 modules
+// This only comes together after the maven-replacer plugin relocates all
protobuf code.
+public class ByteStringer {
-/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
- */
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
-
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
-
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
+ private ByteStringer() { }
-}
\ No newline at end of file
+ public static ByteString wrap(final byte[] array) {
+ return org.apache.hadoop.hbase.util.ByteStringer.wrap(array);
+ }
+}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
b/phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
similarity index 59%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
copy to
phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
index f52c933679..64d5c15e52 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
+++
b/phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
@@ -15,36 +15,28 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.phoenix.filter;
+package org.apache.phoenix.compat.hbase;
import java.io.IOException;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.filter.Filter;
+import org.apache.hadoop.hbase.filter.FilterBase;
-/**
- * This filter overrides the behavior of delegate so that we do not jump to
the next
- * column as soon as we find a value for a column but rather include all
versions which is
- * needed for rebuilds.
- */
-public class AllVersionsIndexRebuildFilter extends DelegateFilter {
+public class CompatDelegateFilter extends FilterBase {
+ protected Filter delegate = null;
- public AllVersionsIndexRebuildFilter(Filter originalFilter) {
- super(originalFilter);
+ public CompatDelegateFilter(Filter delegate) {
+ this.delegate = delegate;
}
@Override
public ReturnCode filterKeyValue(Cell v) throws IOException {
- return filterCell(v);
+ return delegate.filterKeyValue(v);
}
@Override
- public ReturnCode filterCell(Cell v) throws IOException {
- ReturnCode delegateCode = super.filterCell(v);
- if (delegateCode == ReturnCode.INCLUDE_AND_NEXT_COL) {
- return ReturnCode.INCLUDE;
- } else {
- return delegateCode;
- }
+ public boolean filterRowKey(byte[] buffer, int offset, int length) throws
IOException {
+ return delegate.filterRowKey(buffer, offset, length);
}
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
b/phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
similarity index 58%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
copy to
phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
index f52c933679..547d29dd35 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
+++
b/phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
@@ -15,36 +15,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.phoenix.filter;
+package org.apache.phoenix.compat.hbase;
import java.io.IOException;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.filter.Filter;
+import org.apache.hadoop.hbase.filter.FilterBase;
-/**
- * This filter overrides the behavior of delegate so that we do not jump to
the next
- * column as soon as we find a value for a column but rather include all
versions which is
- * needed for rebuilds.
- */
-public class AllVersionsIndexRebuildFilter extends DelegateFilter {
+public abstract class CompatPagingFilter extends FilterBase {
+ protected Filter delegate = null;
- public AllVersionsIndexRebuildFilter(Filter originalFilter) {
- super(originalFilter);
+ public CompatPagingFilter(Filter delegate) {
+ this.delegate = delegate;
}
@Override
public ReturnCode filterKeyValue(Cell v) throws IOException {
- return filterCell(v);
- }
- @Override
- public ReturnCode filterCell(Cell v) throws IOException {
- ReturnCode delegateCode = super.filterCell(v);
- if (delegateCode == ReturnCode.INCLUDE_AND_NEXT_COL) {
- return ReturnCode.INCLUDE;
- } else {
- return delegateCode;
+ if (delegate != null) {
+ return delegate.filterKeyValue(v);
}
+ return super.filterKeyValue(v);
}
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
similarity index 52%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
index 85d16d9015..7c098f4971 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.5.4/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
@@ -16,32 +16,8 @@
* limitations under the License.
*/
-package org.apache.phoenix.hbase.index.covered.filter;
-
-import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.filter.FilterBase;
-
/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
+ * This package contains compatibility classes for bridging differences
+ * between different versions of HBase.
*/
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
-
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
-
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
-
-}
\ No newline at end of file
+package org.apache.phoenix.compat.hbase;
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
similarity index 52%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
index 85d16d9015..595aa31eae 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/ByteStringer.java
@@ -15,33 +15,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package org.apache.phoenix.compat.hbase;
-package org.apache.phoenix.hbase.index.covered.filter;
+import com.google.protobuf.ByteString;
-import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.filter.FilterBase;
+// This has different signature in the HBase 2 and 3 modules
+// This only comes together after the maven-replacer plugin relocates all
protobuf code.
+public class ByteStringer {
-/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
- */
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
-
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
-
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
+ private ByteStringer() { }
-}
\ No newline at end of file
+ public static ByteString wrap(final byte[] array) {
+ return org.apache.hadoop.hbase.util.ByteStringer.wrap(array);
+ }
+}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
similarity index 58%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
index 85d16d9015..83cd70c73c 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateFilter.java
@@ -15,33 +15,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package org.apache.phoenix.compat.hbase;
-package org.apache.phoenix.hbase.index.covered.filter;
+import java.io.IOException;
import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FilterBase;
-/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
- */
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
+public class CompatDelegateFilter extends FilterBase {
+ protected Filter delegate = null;
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
+ public CompatDelegateFilter(Filter delegate) {
+ this.delegate = delegate;
+ }
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
+ @Override
+ public ReturnCode filterKeyValue(Cell v) throws IOException {
+ return delegate.filterKeyValue(v);
+ }
-}
\ No newline at end of file
+}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
b/phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
similarity index 58%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
copy to
phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
index f52c933679..547d29dd35 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/filter/AllVersionsIndexRebuildFilter.java
+++
b/phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/CompatPagingFilter.java
@@ -15,36 +15,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.phoenix.filter;
+package org.apache.phoenix.compat.hbase;
import java.io.IOException;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.filter.Filter;
+import org.apache.hadoop.hbase.filter.FilterBase;
-/**
- * This filter overrides the behavior of delegate so that we do not jump to
the next
- * column as soon as we find a value for a column but rather include all
versions which is
- * needed for rebuilds.
- */
-public class AllVersionsIndexRebuildFilter extends DelegateFilter {
+public abstract class CompatPagingFilter extends FilterBase {
+ protected Filter delegate = null;
- public AllVersionsIndexRebuildFilter(Filter originalFilter) {
- super(originalFilter);
+ public CompatPagingFilter(Filter delegate) {
+ this.delegate = delegate;
}
@Override
public ReturnCode filterKeyValue(Cell v) throws IOException {
- return filterCell(v);
- }
- @Override
- public ReturnCode filterCell(Cell v) throws IOException {
- ReturnCode delegateCode = super.filterCell(v);
- if (delegateCode == ReturnCode.INCLUDE_AND_NEXT_COL) {
- return ReturnCode.INCLUDE;
- } else {
- return delegateCode;
+ if (delegate != null) {
+ return delegate.filterKeyValue(v);
}
+ return super.filterKeyValue(v);
}
}
diff --git
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
b/phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
similarity index 52%
copy from
phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
copy to
phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
index 85d16d9015..7c098f4971 100644
---
a/phoenix-core-client/src/main/java/org/apache/phoenix/hbase/index/covered/filter/NewerTimestampFilter.java
+++
b/phoenix-hbase-compat-2.6.0/src/main/java/org/apache/phoenix/compat/hbase/package-info.java
@@ -16,32 +16,8 @@
* limitations under the License.
*/
-package org.apache.phoenix.hbase.index.covered.filter;
-
-import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.filter.FilterBase;
-
/**
- * Server-side only class used in the indexer to filter out keyvalues newer
than a given timestamp
- * (so allows anything {@code <= } timestamp through).
- * <p>
+ * This package contains compatibility classes for bridging differences
+ * between different versions of HBase.
*/
-public class NewerTimestampFilter extends FilterBase {
-
- private long timestamp;
-
- public NewerTimestampFilter(long timestamp) {
- this.timestamp = timestamp;
- }
-
- @Override
- public ReturnCode filterKeyValue(Cell ignored) {
- return this.filterCell(ignored);
- }
-
- @Override
- public ReturnCode filterCell(Cell ignored) {
- return ignored.getTimestamp() > timestamp ? ReturnCode.SKIP :
ReturnCode.INCLUDE;
- }
-
-}
\ No newline at end of file
+package org.apache.phoenix.compat.hbase;