----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://review.hbase.org/r/323/#review405 -----------------------------------------------------------
Ship it! +1 from me as well trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java <http://review.hbase.org/r/323/#comment1724> Good catch on this ordering. trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java <http://review.hbase.org/r/323/#comment1725> Again, good stuff - Jonathan 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 > >