Return-Path: X-Original-To: apmail-hbase-commits-archive@www.apache.org Delivered-To: apmail-hbase-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CB4A9109E3 for ; Mon, 23 Dec 2013 07:03:33 +0000 (UTC) Received: (qmail 65726 invoked by uid 500); 23 Dec 2013 07:03:30 -0000 Delivered-To: apmail-hbase-commits-archive@hbase.apache.org Received: (qmail 65508 invoked by uid 500); 23 Dec 2013 07:03:29 -0000 Mailing-List: contact commits-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 commits@hbase.apache.org Received: (qmail 65501 invoked by uid 99); 23 Dec 2013 07:03:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Dec 2013 07:03:28 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Dec 2013 07:03:25 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 476702388900; Mon, 23 Dec 2013 07:03:04 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1553079 - in /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase: coprocessor/ regionserver/ Date: Mon, 23 Dec 2013 07:03:04 -0000 To: commits@hbase.apache.org From: anoopsamjohn@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20131223070304.476702388900@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: anoopsamjohn Date: Mon Dec 23 07:03:03 2013 New Revision: 1553079 URL: http://svn.apache.org/r1553079 Log: HBASE-10225 Bug in calls to RegionObsever.postScannerFilterRow Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java?rev=1553079&r1=1553078&r2=1553079&view=diff ============================================================================== --- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java (original) +++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java Mon Dec 23 07:03:03 2013 @@ -436,10 +436,11 @@ public abstract class BaseRegionObserver @Override public boolean postScannerFilterRow(final ObserverContext e, - final InternalScanner s, final byte[] currentRow, final boolean hasMore) throws IOException { + final InternalScanner s, final byte[] currentRow, final int offset, final short length, + final boolean hasMore) throws IOException { return hasMore; } - + @Override public void preScannerClose(final ObserverContext e, final InternalScanner s) throws IOException { Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java?rev=1553079&r1=1553078&r2=1553079&view=diff ============================================================================== --- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java (original) +++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java Mon Dec 23 07:03:03 2013 @@ -967,12 +967,15 @@ public interface RegionObserver extends * @param c the environment provided by the region server * @param s the scanner * @param currentRow The current rowkey which got filtered out + * @param offset offset to rowkey + * @param length length of rowkey * @param hasMore the 'has more' indication * @return whether more rows are available for the scanner or not * @throws IOException */ boolean postScannerFilterRow(final ObserverContext c, - final InternalScanner s, final byte[] currentRow, final boolean hasMore) throws IOException; + final InternalScanner s, final byte[] currentRow, final int offset, final short length, + final boolean hasMore) throws IOException; /** * Called before the client closes a scanner. Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1553079&r1=1553078&r2=1553079&view=diff ============================================================================== --- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original) +++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Mon Dec 23 07:03:03 2013 @@ -3944,8 +3944,8 @@ public class HRegion implements HeapSize resetFilters(); // Calling the hook in CP which allows it to do a fast forward return this.region.getCoprocessorHost() == null - || this.region.getCoprocessorHost().postScannerFilterRow(this, - currentRow); + || this.region.getCoprocessorHost() + .postScannerFilterRow(this, currentRow, offset, length); } protected boolean isStopRow(byte[] currentRow, int offset, short length) { Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java?rev=1553079&r1=1553078&r2=1553079&view=diff ============================================================================== --- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java (original) +++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java Mon Dec 23 07:03:03 2013 @@ -1503,11 +1503,13 @@ public class RegionCoprocessorHost * filter. * @param s the scanner * @param currentRow The current rowkey which got filtered out + * @param offset offset to rowkey + * @param length length of rowkey * @return whether more rows are available for the scanner or not * @throws IOException */ - public boolean postScannerFilterRow(final InternalScanner s, final byte[] currentRow) - throws IOException { + public boolean postScannerFilterRow(final InternalScanner s, final byte[] currentRow, int offset, + short length) throws IOException { boolean hasMore = true; // By default assume more rows there. ObserverContext ctx = null; for (RegionEnvironment env : coprocessors) { @@ -1515,7 +1517,7 @@ public class RegionCoprocessorHost ctx = ObserverContext.createAndPrepare(env, ctx); try { hasMore = ((RegionObserver) env.getInstance()).postScannerFilterRow(ctx, s, currentRow, - hasMore); + offset, length, hasMore); } catch (Throwable e) { handleCoprocessorThrowable(env, e); } Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java?rev=1553079&r1=1553078&r2=1553079&view=diff ============================================================================== --- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java (original) +++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.java Mon Dec 23 07:03:03 2013 @@ -73,7 +73,7 @@ class ReversedRegionScannerImpl extends // Calling the hook in CP which allows it to do a fast forward if (this.region.getCoprocessorHost() != null) { return this.region.getCoprocessorHost().postScannerFilterRow(this, - currentRow); + currentRow, offset, length); } return true; }