hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From st...@duboce.net
Subject Re: Review Request: ScanQueryMatcher provides more specific return codes for early exit.
Date Thu, 15 Jul 2010 16:16:22 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.hbase.org/r/323/#review403
-----------------------------------------------------------

Ship it!


I don't know this code too well but what I see here makes sense to me.  Good stuff Pranav.

- stack


On 2010-07-15 01:38:38, Pranav Khaitan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://review.hbase.org/r/323/
> -----------------------------------------------------------
> 
> (Updated 2010-07-15 01:38:38)
> 
> 
> Review request for hbase, Jonathan Gray, Karthik Ranganathan, and Kannan Muthukkaruppan.
> 
> 
> Summary
> -------
> 
> This patch addresses the following issues:
> 
> 1. After it is done with reading the required timestamps, the QueryMatcher should return
a NEXT_COL so that it doesn't keep on reading every kv till the end of the column. 
> 
> 2. Before returning NEXT_COL, it also checks if any further columns are required. If
no columns are required, then it returns NEXT_ROW instead of returning NEXT_COL. This saves
significant time and another round of iteration.
> 
> 3. Before seeking to NEXT_ROW, we check if we are already on the last row. If we are
on the last row, then we can return false. This avoids one more call to next() and saves times.
> 
> 4. Provides useful input for HBase-2450 and HBase-1517 which can take advantage of these
return codes.
> 
> 5. Optimizes Get queries with only one column.
> 
> 6. Fixing a bug which occurred when versions were processed before filters were applied.
> 
> 7. If we know (using filters/timestamps) that we don't need any more keys for a particular
column, then there should be a mechanism to send this information to ExplicitColumnTracker.
> 
> 
> This addresses bug HBASE-2517.
>     http://issues.apache.org/jira/browse/HBASE-2517
> 
> 
> Diffs
> -----
> 
>   trunk/src/main/java/org/apache/hadoop/hbase/io/TimeRange.java 963961 
>   trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.java
963961 
>   trunk/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java 963961 
>   trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java 963961

>   trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java 963961 
>   trunk/src/test/java/org/apache/hadoop/hbase/client/TestMultipleTimestamps.java 963961

> 
> Diff: http://review.hbase.org/r/323/diff
> 
> 
> Testing
> -------
> 
> Existing tests run successfully with some of them going through the modified code path.
Added specialized unit tests for this purpose. Did manual debugging to see if the optimization
is being done and correct match codes are being returned. 
> 
> 
> Thanks,
> 
> Pranav
> 
>


Mime
View raw message