Author: umamahesh Date: Thu Apr 10 18:11:28 2014 New Revision: 1586392 URL: http://svn.apache.org/r1586392 Log: HDFS-5669. Storage#tryLock() should check for null before logging successfull message. Contributed by Vinayakumar B
Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/Storage.java Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1586392&r1=1586391&r2=1586392&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Thu Apr 10 18:11:28 2014 @@ -332,6 +332,9 @@ Release 2.5.0 - UNRELEASED HDFS-6160. TestSafeMode occasionally fails. (Arpit Agarwal) + HDFS-5669. Storage#tryLock() should check for null before logging successfull message + (Vinayakumar B via umamahesh) + Release 2.4.1 - UNRELEASED INCOMPATIBLE CHANGES Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/Storage.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/Storage.java?rev=1586392&r1=1586391&r2=1586392&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/Storage.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/Storage.java Thu Apr 10 18:11:28 2014 @@ -686,6 +686,7 @@ public abstract class Storage extends St * <code>null</code> if storage is already locked. * @throws IOException if locking fails. */ + @SuppressWarnings("resource") FileLock tryLock() throws IOException { boolean deletionHookAdded = false; File lockF = new File(root, STORAGE_FILE_LOCK); @@ -698,6 +699,9 @@ public abstract class Storage extends St FileLock res = null; try { res = file.getChannel().tryLock(); + if (null == res) { + throw new OverlappingFileLockException(); + } file.write(jvmName.getBytes(Charsets.UTF_8)); LOG.info("Lock on " + lockF + " acquired by nodename " + jvmName); } catch(OverlappingFileLockException oe) {