diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java index d0a66be4d2c..3c88e5d21bf 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java @@ -399,12 +399,6 @@ public static boolean copy(FileSystem srcFS, FileStatus srcStatus, Configuration conf) throws IOException { Path src = srcStatus.getPath(); dst = checkDest(src.getName(), dstFS, dst, overwrite); - - if (srcFS.makeQualified(src).equals(dstFS.makeQualified(dst))) { - throw new PathOperationException("Source (" + src + ") and destination " + - "(" + dst + ") are equal in the copy command."); - } - if (srcStatus.isDirectory()) { checkDependencies(srcFS, src, dstFS, dst); if (!dstFS.mkdirs(dst)) { diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFsShellCopy.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFsShellCopy.java index 62c1b73227a..7556bc75fb2 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFsShellCopy.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFsShellCopy.java @@ -33,7 +33,6 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.permission.FsPermission; import org.apache.hadoop.test.GenericTestUtils; -import org.apache.hadoop.test.LambdaTestUtils; import org.apache.hadoop.util.StringUtils; import org.junit.Before; import org.junit.BeforeClass; @@ -175,20 +174,7 @@ public void testCopyDirFromWindowsLocalPath() throws Exception { checkPut(dirPath, targetDir, true); } - @Test - public void testCopyBetweenFsEqualPath() throws Exception { - Path testRoot = new Path(testRootDir, "testPutFile"); - lfs.delete(testRoot, true); - lfs.mkdirs(testRoot); - - Path filePath = new Path(testRoot, "sameSourceTarget"); - lfs.create(filePath).close(); - final FileStatus status = lfs.getFileStatus(filePath); - LambdaTestUtils.intercept(PathOperationException.class, () -> - FileUtil.copy(lfs, status, lfs, filePath, false, true, conf) - ); - } - + private void checkPut(Path srcPath, Path targetDir, boolean useWindowsPath) throws Exception { lfs.delete(targetDir, true); diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDistributedFileSystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDistributedFileSystem.java index f7dcaef0395..32b0992610f 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDistributedFileSystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDistributedFileSystem.java @@ -69,7 +69,6 @@ import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileAlreadyExistsException; import org.apache.hadoop.fs.FileSystem.Statistics.StatisticsData; -import org.apache.hadoop.fs.FileUtil; import org.apache.hadoop.fs.FsServerDefaults; import org.apache.hadoop.fs.FileChecksum; import org.apache.hadoop.fs.FileStatus; @@ -80,7 +79,6 @@ import org.apache.hadoop.fs.Options.ChecksumOpt; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.PathIsNotEmptyDirectoryException; -import org.apache.hadoop.fs.PathOperationException; import org.apache.hadoop.fs.RemoteIterator; import org.apache.hadoop.fs.StorageStatistics.LongStatistic; import org.apache.hadoop.fs.StorageType; @@ -2501,20 +2499,6 @@ public void testDisallowSnapshotShouldThrowWhenTrashRootExists() } } - @Test - public void testCopyBetweenFsEqualPath() throws Exception { - Configuration conf = getTestConfiguration(); - try (MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf).build()) { - cluster.waitActive(); - final DistributedFileSystem dfs = cluster.getFileSystem(); - Path filePath = new Path("/dir/file"); - dfs.create(filePath).close(); - FileStatus fstatus = dfs.getFileStatus(filePath); - LambdaTestUtils.intercept(PathOperationException.class, - () -> FileUtil.copy(dfs, fstatus, dfs, filePath, false, true, conf)); - } - } - @Test public void testNameNodeCreateSnapshotTrashRootOnStartup() throws Exception {