You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ec...@apache.org on 2013/03/11 15:09:11 UTC
svn commit: r1455141 -
/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/CoordinateRecoveryTask.java
Author: ecn
Date: Mon Mar 11 14:09:11 2013
New Revision: 1455141
URL: http://svn.apache.org/r1455141
Log:
ACCUMULO-919: move recovery files to the trash, too
Modified:
accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/CoordinateRecoveryTask.java
Modified: accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/CoordinateRecoveryTask.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/CoordinateRecoveryTask.java?rev=1455141&r1=1455140&r2=1455141&view=diff
==============================================================================
--- accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/CoordinateRecoveryTask.java (original)
+++ accumulo/branches/1.4/src/server/src/main/java/org/apache/accumulo/server/master/CoordinateRecoveryTask.java Mon Mar 11 14:09:11 2013
@@ -16,6 +16,7 @@
*/
package org.apache.accumulo.server.master;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
@@ -349,8 +350,7 @@ public class CoordinateRecoveryTask impl
if (children != null) {
for (FileStatus child : children) {
log.info("Deleting recovery directory " + child);
- if (!trash.moveToTrash(child.getPath()))
- fs.delete(child.getPath(), true);
+ delete(child.getPath());
}
}
} catch (IOException e) {
@@ -396,13 +396,21 @@ public class CoordinateRecoveryTask impl
}
}
+ private boolean delete(Path p) throws IOException {
+ try {
+ return trash.moveToTrash(p) || fs.delete(p, true);
+ } catch (FileNotFoundException ex) {
+ return false;
+ }
+ }
+
private void removeOldRecoverFiles() throws IOException {
long now = System.currentTimeMillis();
long maxAgeInMillis = ServerConfiguration.getSystemConfiguration().getTimeInMillis(Property.MASTER_RECOVERY_MAXAGE);
FileStatus[] children = fs.listStatus(new Path(ServerConstants.getRecoveryDir()));
if (children != null) {
for (FileStatus child : children) {
- if (now - child.getModificationTime() > maxAgeInMillis && !fs.delete(child.getPath(), true)) {
+ if (now - child.getModificationTime() > maxAgeInMillis && !delete(child.getPath())) {
log.warn("Unable to delete old recovery directory: " + child.getPath());
}
}