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 34598D043 for ; Thu, 20 Sep 2012 12:57:33 +0000 (UTC) Received: (qmail 52821 invoked by uid 500); 20 Sep 2012 12:57:33 -0000 Delivered-To: apmail-hbase-commits-archive@hbase.apache.org Received: (qmail 52764 invoked by uid 500); 20 Sep 2012 12:57:32 -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 52757 invoked by uid 99); 20 Sep 2012 12:57:32 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Sep 2012 12:57:32 +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; Thu, 20 Sep 2012 12:57:30 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 95257238899C for ; Thu, 20 Sep 2012 12:56:46 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1388004 - /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Date: Thu, 20 Sep 2012 12:56:46 -0000 To: commits@hbase.apache.org From: tedyu@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120920125646.95257238899C@eris.apache.org> Author: tedyu Date: Thu Sep 20 12:56:46 2012 New Revision: 1388004 URL: http://svn.apache.org/viewvc?rev=1388004&view=rev Log: HBASE-6839 Operations may be executed without holding rowLock (Chunhui) Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1388004&r1=1388003&r2=1388004&view=diff ============================================================================== --- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original) +++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Thu Sep 20 12:56:46 2012 @@ -1825,7 +1825,14 @@ public class HRegion implements HeapSize // If we haven't got any rows in our batch, we should block to // get the next one. boolean shouldBlock = numReadyToWrite == 0; - Integer acquiredLockId = getLock(providedLockId, put.getRow(), shouldBlock); + Integer acquiredLockId = null; + try { + acquiredLockId = getLock(providedLockId, mutation.getRow(), + shouldBlock); + } catch (IOException ioe) { + LOG.warn("Failed getting lock in batch put, row=" + + Bytes.toStringBinary(mutation.getRow()), ioe); + } if (acquiredLockId == null) { // We failed to grab another lock assert !shouldBlock : "Should never fail to get lock when blocking"; @@ -2671,7 +2678,8 @@ public class HRegion implements HeapSize try { if (!existingLatch.await(this.rowLockWaitDuration, TimeUnit.MILLISECONDS)) { - return null; + throw new IOException("Timed out on getting lock for row=" + + Bytes.toStringBinary(row)); } } catch (InterruptedException ie) { // Empty