hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11144) Filter to support scan multiple row key ranges
Date Tue, 20 May 2014 12:25:38 GMT

    [ https://issues.apache.org/jira/browse/HBASE-11144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14003150#comment-14003150
] 

Hadoop QA commented on HBASE-11144:
-----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12644549/MultiRowRangeFilter2.patch
  against trunk revision .
  ATTACHMENT ID: 12644549

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 2 new or modified
tests.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of
javac compiler warnings.

    {color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 1 warning messages.

    {color:red}-1 findbugs{color}.  The patch appears to introduce 2 new Findbugs (version
1.3.9) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number
of release audit warnings.

    {color:red}-1 lineLengths{color}.  The patch introduces the following lines longer than
100:
    +    FilterProtos.MultiRowRangeFilter.Builder builder = FilterProtos.MultiRowRangeFilter.newBuilder();
+        if (range.startRow != null) rangebuilder.setStartRow(HBaseZeroCopyByteString.wrap(range.startRow));
+        if (range.stopRow != null) rangebuilder.setStopRow(HBaseZeroCopyByteString.wrap(range.stopRow));
+   * @param pbBytes A pb serialized {@link org.apache.hadoop.hbase.filter.ColumnRangeFilter}
instance
+   * @return An instance of {@link org.apache.hadoop.hbase.filter.ColumnRangeFilter} made
from <code>bytes</code>
+      RowKeyRange range = new RowKeyRange(rangeProto.hasStartRow()?rangeProto.getStartRow().toByteArray():null,
+      sb.append("There might be overlaps between rowkey ranges or the rowkey ranges are not
arranged in ascending order.\n");
+  private void generateRows(int numberOfRows, HTable ht, byte[] family, byte[] qf, byte[]
value) throws IOException {    

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
     

     {color:red}-1 core zombie tests{color}.  There are 1 zombie test(s): 	at org.apache.hadoop.hbase.mapreduce.TestTableMapReduceBase.testMultiRegionTable(TestTableMapReduceBase.java:96)

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9543//console

This message is automatically generated.

> Filter to support scan multiple row key ranges
> ----------------------------------------------
>
>                 Key: HBASE-11144
>                 URL: https://issues.apache.org/jira/browse/HBASE-11144
>             Project: HBase
>          Issue Type: Improvement
>          Components: Filters
>            Reporter: Li Jiajia
>         Attachments: MultiRowRangeFilter.patch, MultiRowRangeFilter2.patch
>
>
> HBase is quite efficient when scanning only one small row key range. If user needs to
specify multiple row key ranges in one scan, the typical solutions are: 1. through FilterList
which is a list of row key Filters, 2. using the SQL layer over HBase to join with two table,
such as hive, phoenix etc. However, both solutions are inefficient. Both of them can’t utilize
the range info to perform fast forwarding during scan which is quite time consuming. If the
number of ranges are quite big (e.g. millions), join is a proper solution though it is slow.
However, there are cases that user wants to specify a small number of ranges to scan (e.g.
<1000 ranges). Both solutions can’t provide satisfactory performance in such case. 
> We provide this filter (MultiRowRangeFilter) to support such use case (scan multiple
row key ranges), which can construct the row key ranges from user specified sorted list and
perform fast-forwarding during scan. Thus, the scan will be quite efficient. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message