You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2013/06/17 09:58:20 UTC

svn commit: r1493670 - /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java

Author: mbertozzi
Date: Mon Jun 17 07:58:19 2013
New Revision: 1493670

URL: http://svn.apache.org/r1493670
Log:
HBASE-8749 Potential race condition between FSUtils.renameAndSetModifyTime() and HFile/LogCleaner

Modified:
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java?rev=1493670&r1=1493669&r2=1493670&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java Mon Jun 17 07:58:19 2013
@@ -1645,11 +1645,10 @@ public abstract class FSUtils {
     }
   }
 
-  public static boolean renameAndSetModifyTime(final FileSystem fs, Path src, Path dest)
+  public static boolean renameAndSetModifyTime(final FileSystem fs, final Path src, final Path dest)
       throws IOException {
-    if (!fs.rename(src, dest)) return false;
     // set the modify time for TimeToLive Cleaner
-    fs.setTimes(dest, EnvironmentEdgeManager.currentTimeMillis(), -1);
-    return true;
+    fs.setTimes(src, EnvironmentEdgeManager.currentTimeMillis(), -1);
+    return fs.rename(src, dest);
   }
 }