}
}
}
<<<<<<< HEAD:server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java
=======
private static Collection cleanUpFiles(FileSystem fs, FileStatus[] files, Path location, boolean deleteTmp) throws IOException {
/*
* called in constructor and before major compactions
*/
Collection goodFiles = new ArrayList(files.length);
for (FileStatus file : files) {
String path = file.getPath().toString();
String filename = file.getPath().getName();
// check for incomplete major compaction, this should only occur
// for root tablet
if (filename.startsWith("delete+")) {
String expectedCompactedFile = location.toString() + "/" + filename.split("\\+")[1];
if (fs.exists(new Path(expectedCompactedFile))) {
// compaction finished, but did not finish deleting compacted files.. so delete it
if (!fs.delete(file.getPath(), true))
log.warn("Delete of file: " + file.getPath().toString() + " return false");
continue;
}
// compaction did not finish, so put files back
// reset path and filename for rest of loop
filename = filename.split("\\+", 3)[2];
path = location + "/" + filename;
rename(fs, file.getPath(), new Path(path));
}
if (filename.endsWith("_tmp")) {
if (deleteTmp) {
log.warn("cleaning up old tmp file: " + path);
if (!fs.delete(file.getPath(), true))
log.warn("Delete of tmp file: " + file.getPath().toString() + " return false");
}
continue;
}
if (!filename.startsWith(Constants.MAPFILE_EXTENSION + "_") && !FileOperations.getValidExtensions().contains(filename.split("\\.")[1])) {
log.error("unknown file in tablet: " + path);
continue;
}
goodFiles.add(path);
}
return goodFiles;
}
>>>>>>> 5f2d3473eb3f2e7c77d13fd5803a1ac9e2350f06:server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
public static class KVEntry extends KeyValue {
public KVEntry(Key k, Value v) {
super(new Key(k), Arrays.copyOf(v.get(), v.get().length)); |