Return-Path: Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: (qmail 45876 invoked from network); 15 Jul 2010 17:06:03 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 15 Jul 2010 17:06:03 -0000 Received: (qmail 34094 invoked by uid 500); 15 Jul 2010 17:06:03 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 33866 invoked by uid 500); 15 Jul 2010 17:06:02 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 33854 invoked by uid 99); 15 Jul 2010 17:06:02 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Jul 2010 17:06:02 +0000 X-ASF-Spam-Status: No, hits=1.8 required=10.0 tests=FH_HELO_EQ_D_D_D_D,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [75.101.130.251] (HELO ip-10-250-127-239.ec2.internal) (75.101.130.251) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Jul 2010 17:05:55 +0000 Received: from ip-10-250-127-239.ec2.internal (localhost.localdomain [127.0.0.1]) by ip-10-250-127-239.ec2.internal (Postfix) with ESMTP id 22ABE1056C; Thu, 15 Jul 2010 17:05:04 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: Re: Review Request: ScanQueryMatcher provides more specific return codes for early exit. From: "Jonathan Gray" To: "Karthik Ranganathan" , "Jonathan Gray" , "Kannan Muthukkaruppan" Date: Thu, 15 Jul 2010 17:05:04 -0000 Message-ID: <20100715170504.6966.32871@ip-10-250-127-239.ec2.internal> Cc: "Pranav Khaitan" , jiraposter@review.hbase.org, dev@hbase.apache.org In-Reply-To: <20100715083838.21402.23352@ip-10-250-127-239.ec2.internal> References: <20100715083838.21402.23352@ip-10-250-127-239.ec2.internal> X-Virus-Checked: Checked by ClamAV on apache.org ----------------------------------------------------------- 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.j= ava Good catch on this ordering. trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.j= ava 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 QueryMatche= r 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 r= equired. If no columns are required, then it returns NEXT_ROW instead of re= turning NEXT_COL. This saves significant time and another round of iteratio= n. > = > 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 adv= antage of these return codes. > = > 5. Optimizes Get queries with only one column. > = > 6. Fixing a bug which occurred when versions were processed before filter= s 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 inf= ormation 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/ExplicitColumn= Tracker.java 963961 = > trunk/src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.j= ava 963961 = > trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatch= er.java 963961 = > trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.j= ava 963961 = > trunk/src/test/java/org/apache/hadoop/hbase/client/TestMultipleTimestam= ps.java 963961 = > = > Diff: http://review.hbase.org/r/323/diff > = > = > Testing > ------- > = > Existing tests run successfully with some of them going through the modif= ied code path. Added specialized unit tests for this purpose. Did manual de= bugging to see if the optimization is being done and correct match codes ar= e being returned. = > = > = > Thanks, > = > Pranav > = >