You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2014/03/06 00:04:58 UTC
git commit: ACCUMULO-2428 throw exception when rename fails after
compaction
Repository: accumulo
Updated Branches:
refs/heads/1.4.5-SNAPSHOT 4cd12c425 -> 4fd48fd23
ACCUMULO-2428 throw exception when rename fails after compaction
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/4fd48fd2
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/4fd48fd2
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/4fd48fd2
Branch: refs/heads/1.4.5-SNAPSHOT
Commit: 4fd48fd2390cc3f4f2e76933833506ab26132c2c
Parents: 4cd12c4
Author: Keith Turner <kt...@apache.org>
Authored: Wed Mar 5 17:29:40 2014 -0500
Committer: Keith Turner <kt...@apache.org>
Committed: Wed Mar 5 17:29:40 2014 -0500
----------------------------------------------------------------------
.../accumulo/server/tabletserver/Tablet.java | 21 ++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/4fd48fd2/src/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
----------------------------------------------------------------------
diff --git a/src/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java b/src/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
index 9bf4f96..2d01121 100644
--- a/src/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
+++ b/src/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
@@ -808,9 +808,7 @@ public class Tablet {
fs.delete(newDatafile, true);
}
- if (!fs.rename(tmpDatafile, newDatafile)) {
- throw new IOException("rename fails");
- }
+ rename(fs, tmpDatafile, newDatafile);
}
break;
} catch (IOException ioe) {
@@ -981,8 +979,7 @@ public class Tablet {
// rename before putting in metadata table, so files in metadata table should
// always exist
- if (!fs.rename(tmpDatafile, newDatafile))
- log.warn("Rename of " + tmpDatafile + " to " + newDatafile + " returned false");
+ rename(fs, tmpDatafile, newDatafile);
if (dfv.getNumEntries() == 0) {
fs.delete(newDatafile, true);
@@ -1018,7 +1015,7 @@ public class Tablet {
String compactName = newDatafile.getName();
for (Path path : oldDatafiles) {
- fs.rename(path, new Path(location + "/delete+" + compactName + "+" + path.getName()));
+ rename(fs, path, new Path(location + "/delete+" + compactName + "+" + path.getName()));
}
if (fs.exists(newDatafile)) {
@@ -1026,8 +1023,7 @@ public class Tablet {
throw new IllegalStateException("Target map file already exist " + newDatafile);
}
- if (!fs.rename(tmpDatafile, newDatafile))
- log.warn("Rename of " + tmpDatafile + " to " + newDatafile + " returned false");
+ rename(fs, tmpDatafile, newDatafile);
// start deleting files, if we do not finish they will be cleaned
// up later
@@ -1561,8 +1557,7 @@ public class Tablet {
filename = filename.split("\\+", 3)[2];
path = location + "/" + filename;
- if (!fs.rename(file.getPath(), new Path(path)))
- log.warn("Rename of " + file.getPath().toString() + " to " + path + " returned false");
+ rename(fs, file.getPath(), new Path(path));
}
if (filename.endsWith("_tmp")) {
@@ -3312,6 +3307,12 @@ public class Tablet {
return smallestFiles;
}
+ private static void rename(FileSystem fs, Path src, Path dst) throws IOException {
+ if (!fs.rename(src, dst)) {
+ throw new IOException("Rename " + src + " to " + dst + " returned false ");
+ }
+ }
+
// END PRIVATE METHODS RELATED TO MAJOR COMPACTION
/**