LiuGuH commented on code in PR #6291: URL: https://github.com/apache/hadoop/pull/6291#discussion_r1406987425
########## hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterTrash.java: ########## @@ -227,6 +234,61 @@ public void testMoveToTrashWithKerberosUser() throws IOException, assertEquals(1, fileStatuses.length); } + @Test + public void testMultipleMountPoint() throws IOException, + URISyntaxException, InterruptedException { + MountTable addEntry = MountTable.newInstance(MOUNT_POINT, + Collections.singletonMap(ns0, MOUNT_POINT)); + MountTable addEntry1 = MountTable.newInstance(MOUNT_POINT1, + Collections.singletonMap(ns1, MOUNT_POINT1)); + MountTable addEntry2 = MountTable.newInstance(MOUNT_POINT2, + Collections.singletonMap(ns1, MOUNT_POINT2)); + assertTrue(addMountTable(addEntry)); + assertTrue(addMountTable(addEntry1)); + assertTrue(addMountTable(addEntry2)); + + // current user client Review Comment: Fixed. Thanks. ########## hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterTrash.java: ########## @@ -227,6 +234,61 @@ public void testMoveToTrashWithKerberosUser() throws IOException, assertEquals(1, fileStatuses.length); } + @Test + public void testMultipleMountPoint() throws IOException, + URISyntaxException, InterruptedException { + MountTable addEntry = MountTable.newInstance(MOUNT_POINT, + Collections.singletonMap(ns0, MOUNT_POINT)); + MountTable addEntry1 = MountTable.newInstance(MOUNT_POINT1, + Collections.singletonMap(ns1, MOUNT_POINT1)); + MountTable addEntry2 = MountTable.newInstance(MOUNT_POINT2, + Collections.singletonMap(ns1, MOUNT_POINT2)); + assertTrue(addMountTable(addEntry)); + assertTrue(addMountTable(addEntry1)); + assertTrue(addMountTable(addEntry2)); + + // current user client + DFSClient client = nnContext.getClient(); + client.setOwner("/", TEST_USER, TEST_USER); + + DFSClient client1 = nnContext1.getClient(); + client1.setOwner("/", TEST_USER, TEST_USER); + + + UserGroupInformation ugi = UserGroupInformation. + createRemoteUser(TEST_USER); + // test user client + client = nnContext.getClient(ugi); + client.mkdirs(MOUNT_POINT, new FsPermission("777"), true); + client.create(FILE, true); + + client1 = nnContext1.getClient(ugi); + client1.mkdirs("/user", new FsPermission("777"), true); + client1.mkdirs(MOUNT_POINT1, new FsPermission("777"), true); + client1.create(FILE1, true); + client1.mkdirs(MOUNT_POINT2, new FsPermission("777"), true); + + // move to Trash + Configuration routerConf = routerContext.getConf(); + FileSystem fs = + DFSTestUtil.getFileSystemAs(ugi, routerConf); + + Trash trash = new Trash(fs , routerConf); + assertTrue(trash.moveToTrash(new Path(FILE))); + assertTrue(trash.moveToTrash(new Path(FILE1))); + + + //Client user see gloabl trash view, wo should see all three mount point + FileStatus[] fileStatuses = fs.listStatus(new Path("/user/test-trash/.Trash/Current/")); + assertEquals(3, fileStatuses.length); + + //This should return fileStatuses rather than Not found Exception + fileStatuses = fs.listStatus(new Path("/user/test-trash/.Trash/Current/"+MOUNT_POINT2)); + assertEquals(0, fileStatuses.length); + + client1.delete("/user",true); Review Comment: Fixed. Thanks. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org