Return-Path: X-Original-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DEF1310669 for ; Mon, 18 Nov 2013 17:16:20 +0000 (UTC) Received: (qmail 74858 invoked by uid 500); 18 Nov 2013 17:16:20 -0000 Delivered-To: apmail-hadoop-hdfs-commits-archive@hadoop.apache.org Received: (qmail 74622 invoked by uid 500); 18 Nov 2013 17:16:16 -0000 Mailing-List: contact hdfs-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-dev@hadoop.apache.org Delivered-To: mailing list hdfs-commits@hadoop.apache.org Received: (qmail 74169 invoked by uid 99); 18 Nov 2013 17:16:15 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Nov 2013 17:16:15 +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, 18 Nov 2013 17:16:12 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 2FBAB238883D; Mon, 18 Nov 2013 17:15:51 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1543087 - in /hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs: ./ src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/ src/main/java/org/apache/hadoop/hdfs/server/namenode/ src/main/java/org/apache/hadoop/hdfs/util/ Date: Mon, 18 Nov 2013 17:15:50 -0000 To: hdfs-commits@hadoop.apache.org From: umamahesh@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20131118171551.2FBAB238883D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: umamahesh Date: Mon Nov 18 17:15:50 2013 New Revision: 1543087 URL: http://svn.apache.org/r1543087 Log: HDFS-5372. In FSNamesystem, hasReadLock() returns false if the current thread holds the write lock (Contributed by Vinay) Modified: hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/RwLock.java Modified: hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1543087&r1=1543086&r2=1543087&view=diff ============================================================================== --- hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original) +++ hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Mon Nov 18 17:15:50 2013 @@ -98,6 +98,9 @@ Release 2.2.1 - UNRELEASED HDFS-5469. Add configuration property for the sub-directroy export path (brandonli) + HDFS-5372. In FSNamesystem, hasReadLock() returns false if the current + thread holds the write lock (Vinaykumar B via umamahesh) + Release 2.2.0 - 2013-10-13 INCOMPATIBLE CHANGES Modified: hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java?rev=1543087&r1=1543086&r2=1543087&view=diff ============================================================================== --- hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java (original) +++ hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java Mon Nov 18 17:15:50 2013 @@ -809,7 +809,7 @@ public class BlockManager { final boolean isFileUnderConstruction, final long offset, final long length, final boolean needBlockToken, final boolean inSnapshot) throws IOException { - assert namesystem.hasReadOrWriteLock(); + assert namesystem.hasReadLock(); if (blocks == null) { return null; } else if (blocks.length == 0) { Modified: hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java?rev=1543087&r1=1543086&r2=1543087&view=diff ============================================================================== --- hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java (original) +++ hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java Mon Nov 18 17:15:50 2013 @@ -1253,11 +1253,7 @@ public class FSNamesystem implements Nam } @Override public boolean hasReadLock() { - return this.fsLock.getReadHoldCount() > 0; - } - @Override - public boolean hasReadOrWriteLock() { - return hasReadLock() || hasWriteLock(); + return this.fsLock.getReadHoldCount() > 0 || hasWriteLock(); } NamespaceInfo getNamespaceInfo() { @@ -1990,7 +1986,7 @@ public class FSNamesystem implements Nam */ private void verifyParentDir(String src) throws FileNotFoundException, ParentNotDirectoryException, UnresolvedLinkException { - assert hasReadOrWriteLock(); + assert hasReadLock(); Path parent = new Path(src).getParent(); if (parent != null) { final INode parentNode = dir.getINode(parent.toString()); @@ -2588,7 +2584,7 @@ public class FSNamesystem implements Nam ExtendedBlock previous, LocatedBlock[] onRetryBlock) throws IOException { - assert hasReadOrWriteLock(); + assert hasReadLock(); checkBlock(previous); onRetryBlock[0] = null; @@ -2785,7 +2781,7 @@ public class FSNamesystem implements Nam private INodeFileUnderConstruction checkLease(String src, long fileId, String holder, INode inode) throws LeaseExpiredException, FileNotFoundException { - assert hasReadOrWriteLock(); + assert hasReadLock(); if (inode == null || !inode.isFile()) { Lease lease = leaseManager.getLease(holder); throw new LeaseExpiredException( Modified: hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/RwLock.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/RwLock.java?rev=1543087&r1=1543086&r2=1543087&view=diff ============================================================================== --- hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/RwLock.java (original) +++ hadoop/common/branches/branch-2.2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/RwLock.java Mon Nov 18 17:15:50 2013 @@ -39,7 +39,4 @@ public interface RwLock { /** Check if the current thread holds write lock. */ public boolean hasWriteLock(); - - /** Check if the current thread holds read or write lock. */ - public boolean hasReadOrWriteLock(); }