Hexiaoqiao commented on code in PR #6291: URL: https://github.com/apache/hadoop/pull/6291#discussion_r1406206626
########## 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); Review Comment: Please fix the checkstyle. ########## 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: Please format the annotations: Start with uppercase and end with period. ########## 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: Please fix the checkstyle. -- 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