Repository: gora Updated Branches: refs/heads/master 7c0e34eb9 -> 58df5a4b6
GORA-510 Conform Query.setEndKey to inclusive query for HBaseStore Fix + enabled ignored Tests Project: http://git-wip-us.apache.org/repos/asf/gora/repo Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/b9b91ae6 Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/b9b91ae6 Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/b9b91ae6 Branch: refs/heads/master Commit: b9b91ae68d5ecc7a94d9aa14f3a93bb892c5da38 Parents: 1242a61 Author: Alfonso Nishikawa Muñumer <[email protected]> Authored: Sun May 28 11:36:26 2017 -0100 Committer: Alfonso Nishikawa Muñumer <[email protected]> Committed: Sun May 28 11:36:26 2017 -0100 ---------------------------------------------------------------------- .../org/apache/gora/store/DataStoreTestUtil.java | 2 +- .../org/apache/gora/hbase/store/HBaseStore.java | 6 +++++- .../apache/gora/hbase/store/TestHBaseStore.java | 18 ------------------ 3 files changed, 6 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/gora/blob/b9b91ae6/gora-core/src/test/java/org/apache/gora/store/DataStoreTestUtil.java ---------------------------------------------------------------------- diff --git a/gora-core/src/test/java/org/apache/gora/store/DataStoreTestUtil.java b/gora-core/src/test/java/org/apache/gora/store/DataStoreTestUtil.java index 30792cd..b9e58cd 100644 --- a/gora-core/src/test/java/org/apache/gora/store/DataStoreTestUtil.java +++ b/gora-core/src/test/java/org/apache/gora/store/DataStoreTestUtil.java @@ -1083,7 +1083,7 @@ public class DataStoreTestUtil { for (int i = 0; i < URLS.length; i++) { WebPage page = store.get(URLS[i]); assertNotNull(page); - if( URLS[i].compareTo(startKey) < 0 || URLS[i].compareTo(endKey) >= 0) { + if( URLS[i].compareTo(startKey) < 0 || URLS[i].compareTo(endKey) > 0) { //not deleted assertWebPage(page, i); } else { http://git-wip-us.apache.org/repos/asf/gora/blob/b9b91ae6/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java ---------------------------------------------------------------------- diff --git a/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java b/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java index 389f5df..d614ad7 100644 --- a/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java +++ b/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseStore.java @@ -490,7 +490,11 @@ implements Configurable { scan.setStartRow(toBytes(query.getStartKey())); } if (query.getEndKey() != null) { - scan.setStopRow(toBytes(query.getEndKey())); + // In HBase the end key is exclusive, so we add a trail zero to make it inclusive + // as the Gora's query interface declares. + byte[] endKey = toBytes(query.getEndKey()); + byte[] inclusiveEndKey = Arrays.copyOf(endKey, endKey.length+1); + scan.setStopRow(inclusiveEndKey); } addFields(scan, query); if (query.getFilter() != null) { http://git-wip-us.apache.org/repos/asf/gora/blob/b9b91ae6/gora-hbase/src/test/java/org/apache/gora/hbase/store/TestHBaseStore.java ---------------------------------------------------------------------- diff --git a/gora-hbase/src/test/java/org/apache/gora/hbase/store/TestHBaseStore.java b/gora-hbase/src/test/java/org/apache/gora/hbase/store/TestHBaseStore.java index 695dea1..7fd320a 100644 --- a/gora-hbase/src/test/java/org/apache/gora/hbase/store/TestHBaseStore.java +++ b/gora-hbase/src/test/java/org/apache/gora/hbase/store/TestHBaseStore.java @@ -245,22 +245,4 @@ public class TestHBaseStore extends DataStoreTestBase { assertEquals(1000, ((HBaseStore<String,Employee>)this.employeeStore).getScannerCaching()) ; } - @Ignore("We need to skip this test since gora considers endRow inclusive, while its exclusive for HBase.") - @Override - public void testQueryEndKey() throws IOException { - //TODO: We should raise an issue for HBase to allow us to specify if the endRow will be inclusive or exclusive. - } - - @Ignore("We need to skip this test since gora considers endRow inclusive, while its exclusive for HBase.") - @Override - public void testQueryKeyRange() throws IOException { - //TODO: We should raise an issue for HBase to allow us to specify if the endRow will be inclusive or exclusive. - } - - @Ignore("We need to skip this test since gora considers endRow inclusive, while its exclusive for HBase.") - @Override - public void testDeleteByQuery() throws IOException { - //TODO: We should raise an issue for HBase to allow us to specify if the endRow will be inclusive or exclusive. - } - }
