HADOOP-12119. hadoop fs -expunge does not work for federated namespace (Contributed by J.Andreina)
(cherry picked from commit c815344e2e
)
This commit is contained in:
parent
beab746177
commit
e4adb191aa
|
@ -395,6 +395,9 @@ Release 2.8.0 - UNRELEASED
|
||||||
HADOOP-8151. Error handling in snappy decompressor throws invalid
|
HADOOP-8151. Error handling in snappy decompressor throws invalid
|
||||||
exceptions. (Matt Foley via harsh)
|
exceptions. (Matt Foley via harsh)
|
||||||
|
|
||||||
|
HADOOP-12119. hadoop fs -expunge does not work for federated namespace
|
||||||
|
(J.Andreina via vinayakumarb)
|
||||||
|
|
||||||
Release 2.7.2 - UNRELEASED
|
Release 2.7.2 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -25,6 +25,7 @@ import java.util.List;
|
||||||
|
|
||||||
import org.apache.hadoop.classification.InterfaceAudience;
|
import org.apache.hadoop.classification.InterfaceAudience;
|
||||||
import org.apache.hadoop.classification.InterfaceStability;
|
import org.apache.hadoop.classification.InterfaceStability;
|
||||||
|
import org.apache.hadoop.fs.FileSystem;
|
||||||
import org.apache.hadoop.fs.PathIOException;
|
import org.apache.hadoop.fs.PathIOException;
|
||||||
import org.apache.hadoop.fs.PathIsDirectoryException;
|
import org.apache.hadoop.fs.PathIsDirectoryException;
|
||||||
import org.apache.hadoop.fs.PathIsNotDirectoryException;
|
import org.apache.hadoop.fs.PathIsNotDirectoryException;
|
||||||
|
@ -195,9 +196,19 @@ class Delete {
|
||||||
@Override
|
@Override
|
||||||
protected void processArguments(LinkedList<PathData> args)
|
protected void processArguments(LinkedList<PathData> args)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
Trash trash = new Trash(getConf());
|
FileSystem[] childFileSystems =
|
||||||
trash.expunge();
|
FileSystem.get(getConf()).getChildFileSystems();
|
||||||
trash.checkpoint();
|
if (null != childFileSystems) {
|
||||||
|
for (FileSystem fs : childFileSystems) {
|
||||||
|
Trash trash = new Trash(fs, getConf());
|
||||||
|
trash.expunge();
|
||||||
|
trash.checkpoint();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Trash trash = new Trash(getConf());
|
||||||
|
trash.expunge();
|
||||||
|
trash.checkpoint();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -594,8 +594,18 @@ public class TestTrash extends TestCase {
|
||||||
TestLFS() {
|
TestLFS() {
|
||||||
this(new Path(TEST_DIR, "user/test"));
|
this(new Path(TEST_DIR, "user/test"));
|
||||||
}
|
}
|
||||||
TestLFS(Path home) {
|
TestLFS(final Path home) {
|
||||||
super();
|
super(new RawLocalFileSystem() {
|
||||||
|
@Override
|
||||||
|
protected Path getInitialWorkingDirectory() {
|
||||||
|
return makeQualified(home);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Path getHomeDirectory() {
|
||||||
|
return makeQualified(home);
|
||||||
|
}
|
||||||
|
});
|
||||||
this.home = home;
|
this.home = home;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue