Return-Path: Delivered-To: apmail-hadoop-hbase-commits-archive@minotaur.apache.org Received: (qmail 3467 invoked from network); 24 Apr 2010 04:25:40 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 24 Apr 2010 04:25:40 -0000 Received: (qmail 12189 invoked by uid 500); 24 Apr 2010 04:25:40 -0000 Delivered-To: apmail-hadoop-hbase-commits-archive@hadoop.apache.org Received: (qmail 12111 invoked by uid 500); 24 Apr 2010 04:25:39 -0000 Mailing-List: contact hbase-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hbase-dev@hadoop.apache.org Delivered-To: mailing list hbase-commits@hadoop.apache.org Received: (qmail 12104 invoked by uid 99); 24 Apr 2010 04:25:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 24 Apr 2010 04:25:38 +0000 X-ASF-Spam-Status: No, hits=-1537.8 required=10.0 tests=ALL_TRUSTED,AWL 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; Sat, 24 Apr 2010 04:25:37 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 101BC2388978; Sat, 24 Apr 2010 04:24:55 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r937589 - in /hadoop/hbase/trunk: CHANGES.txt core/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java Date: Sat, 24 Apr 2010 04:24:54 -0000 To: hbase-commits@hadoop.apache.org From: stack@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100424042455.101BC2388978@eris.apache.org> Author: stack Date: Sat Apr 24 04:24:53 2010 New Revision: 937589 URL: http://svn.apache.org/viewvc?rev=937589&view=rev Log: HBASE-2447 LogSyncer.addToSyncQueue doesn't check if syncer is still running before waiting Modified: hadoop/hbase/trunk/CHANGES.txt hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java Modified: hadoop/hbase/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=937589&r1=937588&r2=937589&view=diff ============================================================================== --- hadoop/hbase/trunk/CHANGES.txt (original) +++ hadoop/hbase/trunk/CHANGES.txt Sat Apr 24 04:24:53 2010 @@ -283,6 +283,8 @@ Release 0.21.0 - Unreleased (Benoit Sigoure via Stack) HBASE-2443 IPC client can throw NPE if socket creation fails (Todd Lipcon via Stack) + HBASE-2447 LogSyncer.addToSyncQueue doesn't check if syncer is still + running before waiting (Todd Lipcon via Stack) IMPROVEMENTS HBASE-1760 Cleanup TODOs in HTable Modified: hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=937589&r1=937588&r2=937589&view=diff ============================================================================== --- hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original) +++ hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Sat Apr 24 04:24:53 2010 @@ -1866,8 +1866,14 @@ public class HRegion implements HConstan } results.clear(); boolean returnResult = nextInternal(limit); - if (!returnResult && filter != null && filter.filterRow()) { - results.clear(); + if (!returnResult && filter != null) { + // final chance to modify row contents + returnResult = filter.filterRow(results); + // final chance to drop the row... This may be superfluous with the addition of the above? + // still needed for backwards compatibility however + if (returnResult || filter.filterRow()) { + results.clear(); + } } outResults.addAll(results); resetFilters(); Modified: hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java?rev=937589&r1=937588&r2=937589&view=diff ============================================================================== --- hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java (original) +++ hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java Sat Apr 24 04:24:53 2010 @@ -742,6 +742,8 @@ public class HLog implements HConstants, private final long optionalFlushInterval; + private boolean syncerShuttingDown = false; + LogSyncer(long optionalFlushInterval) { this.optionalFlushInterval = optionalFlushInterval; } @@ -778,6 +780,7 @@ public class HLog implements HConstants, } catch (InterruptedException e) { LOG.debug(getName() + "interrupted while waiting for sync requests"); } finally { + syncerShuttingDown = true; syncDone.signalAll(); lock.unlock(); LOG.info(getName() + " exiting"); @@ -796,6 +799,10 @@ public class HLog implements HConstants, } lock.lock(); try { + if (syncerShuttingDown) { + LOG.warn(getName() + " was shut down while waiting for sync"); + return; + } if(force) { forceSync = true; }