HDFS-9881. DistributedFileSystem#getTrashRoot returns incorrect path for encryption zones.
This commit is contained in:
parent
e76b13c415
commit
4abb2fa687
@ -2355,7 +2355,7 @@ public Path getTrashRoot(Path path) {
|
|||||||
EncryptionZone ez = dfs.getEZForPath(parentSrc);
|
EncryptionZone ez = dfs.getEZForPath(parentSrc);
|
||||||
if ((ez != null)) {
|
if ((ez != null)) {
|
||||||
return this.makeQualified(
|
return this.makeQualified(
|
||||||
new Path(ez.getPath(), FileSystem.TRASH_PREFIX +
|
new Path(new Path(ez.getPath(), FileSystem.TRASH_PREFIX),
|
||||||
dfs.ugi.getShortUserName()));
|
dfs.ugi.getShortUserName()));
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
@ -2864,6 +2864,9 @@ Release 2.8.0 - UNRELEASED
|
|||||||
HDFS-9870. Remove unused imports from DFSUtil.
|
HDFS-9870. Remove unused imports from DFSUtil.
|
||||||
(Brahma Reddy Battula via cnauroth)
|
(Brahma Reddy Battula via cnauroth)
|
||||||
|
|
||||||
|
HDFS-9881. DistributedFileSystem#getTrashRoot returns incorrect path for
|
||||||
|
encryption zones. (wang)
|
||||||
|
|
||||||
Release 2.7.3 - UNRELEASED
|
Release 2.7.3 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
@ -1445,6 +1445,14 @@ public void testRootDirEZTrash() throws Exception {
|
|||||||
private void verifyShellDeleteWithTrash(FsShell shell, Path path)
|
private void verifyShellDeleteWithTrash(FsShell shell, Path path)
|
||||||
throws Exception{
|
throws Exception{
|
||||||
try {
|
try {
|
||||||
|
Path trashDir = shell.getCurrentTrashDir(path);
|
||||||
|
// Verify that trashDir has a path component named ".Trash"
|
||||||
|
Path checkTrash = trashDir;
|
||||||
|
while (!checkTrash.isRoot() && !checkTrash.getName().equals(".Trash")) {
|
||||||
|
checkTrash = checkTrash.getParent();
|
||||||
|
}
|
||||||
|
assertEquals("No .Trash component found in trash dir " + trashDir,
|
||||||
|
".Trash", checkTrash.getName());
|
||||||
final Path trashFile =
|
final Path trashFile =
|
||||||
new Path(shell.getCurrentTrashDir(path) + "/" + path);
|
new Path(shell.getCurrentTrashDir(path) + "/" + path);
|
||||||
String[] argv = new String[]{"-rm", "-r", path.toString()};
|
String[] argv = new String[]{"-rm", "-r", path.toString()};
|
||||||
|
Loading…
Reference in New Issue
Block a user