vsinghal85 commented on code in PR #4117:
URL: https://github.com/apache/gobblin/pull/4117#discussion_r2099561877


##########
gobblin-utility/src/test/java/org/apache/gobblin/util/HadoopUtilsTest.java:
##########
@@ -333,4 +344,166 @@ public void testMoveToTrash() throws IOException {
     Assert.assertFalse(fs.exists(hadoopUtilsTestDir));
     Assert.assertTrue(fs.exists(trashPath));
   }
+
+  @Test
+  public void testEnsureDirectoryExistsWithAclPreservation() throws Exception {
+    final Path testDir = new Path(new Path(TEST_DIR_PATH), 
"HadoopUtilsTestDir");
+    FileSystem fs = Mockito.mock(FileSystem.class);

Review Comment:
   Local filesystem does not support ACL operations, therefore It would not be 
able to test using that, probably none of the existing tests were covering ACL 
logic, using mockito only seemed way out to tests ACL cases



##########
gobblin-utility/src/main/java/org/apache/gobblin/util/HadoopUtils.java:
##########
@@ -783,14 +816,21 @@ public static void ensureDirectoryExists(FileSystem fs, 
Path path, Iterator<Owne
       OwnerAndPermission ownerAndPermission = 
ownerAndPermissionIterator.next();
 
       if (path.getParent() != null) {
-        ensureDirectoryExists(fs, path.getParent(), 
ownerAndPermissionIterator, failIfOwnerSetFails);
+        ensureDirectoryExists(fs, path.getParent(), 
ownerAndPermissionIterator, failIfOwnerSetFails, copyOnlySourceAclToDest);
       }
 
       if (!fs.mkdirs(path)) {
         // fs.mkdirs returns false if path already existed. Do not overwrite 
permissions
         return;
       }
-
+      try {
+        if (copyOnlySourceAclToDest) {
+          fs.removeAcl(path);
+        }
+      } catch(UnsupportedOperationException uoe) {
+        // ignore ACL calls through some unit tests, as it is not supported 
for local FileSystem
+        log.info("removeACL operation is not supported for this file system");

Review Comment:
   updated



-- 
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: dev-unsubscr...@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to