You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2015/06/12 04:27:25 UTC
hbase git commit: HBASE-13892 NPE in ClientScanner on null results
array
Repository: hbase
Updated Branches:
refs/heads/branch-1 abf1aa603 -> e78572a98
HBASE-13892 NPE in ClientScanner on null results array
Signed-off-by: Andrew Purtell <ap...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/e78572a9
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e78572a9
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e78572a9
Branch: refs/heads/branch-1
Commit: e78572a985fcf76b049b22bf7bbc7734c6601077
Parents: abf1aa6
Author: Josh Elser <el...@apache.org>
Authored: Thu Jun 11 19:27:06 2015 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Thu Jun 11 19:27:06 2015 -0700
----------------------------------------------------------------------
.../apache/hadoop/hbase/client/ClientScanner.java | 3 ++-
.../hadoop/hbase/client/TestFromClientSide.java | 15 +++++++++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/e78572a9/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
index 3550e6c..562cb56 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
@@ -573,7 +573,8 @@ public class ClientScanner extends AbstractClientScanner {
// the caller will receive a result back where the number of cells in the result is less than
// the batch size even though it may not be the last group of cells for that row.
if (allowPartials || isBatchSet) {
- addResultsToList(resultsToAddToCache, resultsFromServer, 0, resultsFromServer.length);
+ addResultsToList(resultsToAddToCache, resultsFromServer, 0,
+ (null == resultsFromServer ? 0 : resultsFromServer.length));
return resultsToAddToCache;
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/e78572a9/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
index 02eca77..0b793b4 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
@@ -72,6 +72,8 @@ import org.apache.hadoop.hbase.filter.CompareFilter;
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FilterList;
+import org.apache.hadoop.hbase.filter.FirstKeyOnlyFilter;
+import org.apache.hadoop.hbase.filter.InclusiveStopFilter;
import org.apache.hadoop.hbase.filter.KeyOnlyFilter;
import org.apache.hadoop.hbase.filter.LongComparator;
import org.apache.hadoop.hbase.filter.PrefixFilter;
@@ -6415,4 +6417,17 @@ public class TestFromClientSide {
}
}
}
+
+ @Test
+ public void testFilterAllRecords() throws IOException {
+ Scan scan = new Scan();
+ scan.setBatch(1);
+ scan.setCaching(1);
+ // Filter out any records
+ scan.setFilter(new FilterList(new FirstKeyOnlyFilter(), new InclusiveStopFilter(new byte[0])));
+ Table table = TEST_UTIL.getConnection().getTable(TableName.NAMESPACE_TABLE_NAME);
+ ResultScanner s = table.getScanner(scan);
+ assertNull(s.next());
+ table.close();
+ }
}