Hadoop Common
  1. Hadoop Common
  2. HADOOP-8849

FileUtil#fullyDelete should grant the target directories +rwx permissions before trying to delete them

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0.0, 2.0.3-alpha, 0.23.6
    • Fix Version/s: 3.0.0, 2.0.3-alpha, 0.23.7
    • Component/s: None
    • Labels:
      None

      Description

      2 improvements are suggested for implementation of methods org.apache.hadoop.fs.FileUtil.fullyDelete(File) and org.apache.hadoop.fs.FileUtil.fullyDeleteContents(File):

      1) We should grant +rwx permissions the target directories before trying to delete them.
      The mentioned methods fail to delete directories that don't have read or execute permissions.
      Actual problem appears if an hdfs-related test is timed out (with a short timeout like tens of seconds), and the forked test process is killed, some directories are left on disk that are not readable and/or executable. This prevents next tests from being executed properly because these directories cannot be deleted with FileUtil#fullyDelete(), so many subsequent tests fail. So, its recommended to grant the read, write, and execute permissions the directories whose content is to be deleted.

      2) Generic reliability improvement: we shouldn't rely upon File#delete() return value, use File#exists() instead.
      FileUtil#fullyDelete() uses return value of method java.io.File#delete(), but this is not reliable because File#delete() returns true only if the file was deleted as a result of the #delete() method invocation. E.g. in the following code
      if (f.exists())

      { // 1 return f.delete(); // 2 }

      if the file f was deleted by another thread or process between calls "1" and "2", this fragment will return "false", while the file f does not exist upon the method return.
      So, better to write
      if (f.exists())

      { f.delete(); return !f.exists(); }
      1. HADOOP-8849-vs-trunk-4.patch
        7 kB
        Ivan A. Veselovsky
      2. HADOOP-8849-trunk--5.patch
        13 kB
        Ivan A. Veselovsky

        Activity

        Ivan A. Veselovsky created issue -
        Hide
        Ivan A. Veselovsky added a comment -

        Attaching the suggested patch.
        The test TestFileUtil modified accordingly.

        Show
        Ivan A. Veselovsky added a comment - Attaching the suggested patch. The test TestFileUtil modified accordingly.
        Ivan A. Veselovsky made changes -
        Field Original Value New Value
        Attachment HADOOP-8849-vs-trunk.patch [ 12546696 ]
        Ivan A. Veselovsky made changes -
        Description 2 improvements are suggested for implementation of methods org.apache.hadoop.fs.FileUtil.fullyDelete(File) and org.apache.hadoop.fs.FileUtil.fullyDeleteContents(File):
         
        1) We should grant +rwx permissions the target directories before trying to delete them.
        The mentioned methods fail to dlete directories that don't have read or execute permissions.
        Actual problem appears if an hdfs-related test is timed out (with a short timeout like tesns of seconds), and the forked test process is killed, some directories are left on disk that are not readable and/or executable. This prevents next tests from being executed properly because these directories cannot be deleted with FileUtil#fullyDelete(), so many subsequent tests fail. So, its recommended to grant the read, write, and execute permissions the directories whose content is to be deleted.

        2) We shouldn't rely upon File#delete() return value, use File#exists() instead.
        FileUtil#fullyDelete() uses return value of method java.io.File#delete(), but this is not reliable because File#delete() returns true only if the file was deleted as a result of the #delete() method invocation. E.g. in the following code
        if (f.exists()) { // 1
          return f.delete(); // 2
        }
        if the file f was deleted by another thread or process between calls "1" and "2", this fragment will return "false", while the file f does not exist upon the method return.
        So, better to write
        if (f.exists()) {
          f.delete();
          return !f.exists();
        }
        2 improvements are suggested for implementation of methods org.apache.hadoop.fs.FileUtil.fullyDelete(File) and org.apache.hadoop.fs.FileUtil.fullyDeleteContents(File):
         
        1) We should grant +rwx permissions the target directories before trying to delete them.
        The mentioned methods fail to delete directories that don't have read or execute permissions.
        Actual problem appears if an hdfs-related test is timed out (with a short timeout like tens of seconds), and the forked test process is killed, some directories are left on disk that are not readable and/or executable. This prevents next tests from being executed properly because these directories cannot be deleted with FileUtil#fullyDelete(), so many subsequent tests fail. So, its recommended to grant the read, write, and execute permissions the directories whose content is to be deleted.

        2) Generic reliability improvement: we shouldn't rely upon File#delete() return value, use File#exists() instead.
        FileUtil#fullyDelete() uses return value of method java.io.File#delete(), but this is not reliable because File#delete() returns true only if the file was deleted as a result of the #delete() method invocation. E.g. in the following code
        if (f.exists()) { // 1
          return f.delete(); // 2
        }
        if the file f was deleted by another thread or process between calls "1" and "2", this fragment will return "false", while the file f does not exist upon the method return.
        So, better to write
        if (f.exists()) {
          f.delete();
          return !f.exists();
        }
        Ivan A. Veselovsky made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12546696/HADOOP-8849-vs-trunk.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 1 new or modified test files.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 eclipse:eclipse. The patch built with eclipse:eclipse.

        -1 findbugs. The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        -1 core tests. The patch failed these unit tests in hadoop-common-project/hadoop-common:

        org.apache.hadoop.ha.TestZKFailoverController

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1528//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HADOOP-Build/1528//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-common.html
        Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1528//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12546696/HADOOP-8849-vs-trunk.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 1 new or modified test files. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. -1 findbugs . The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 core tests . The patch failed these unit tests in hadoop-common-project/hadoop-common: org.apache.hadoop.ha.TestZKFailoverController +1 contrib tests . The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1528//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HADOOP-Build/1528//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-common.html Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1528//console This message is automatically generated.
        Ivan A. Veselovsky made changes -
        Attachment HADOOP-8849-vs-trunk.patch [ 12546696 ]
        Ivan A. Veselovsky made changes -
        Assignee Ivan A. Veselovsky [ iveselovsky ]
        Hide
        Ivan A. Veselovsky added a comment -

        version #2 of the patch where the findbugs warning is worked around.

        Show
        Ivan A. Veselovsky added a comment - version #2 of the patch where the findbugs warning is worked around.
        Ivan A. Veselovsky made changes -
        Attachment HADOOP-8849-vs-trunk-2.patch [ 12547980 ]
        Ivan A. Veselovsky made changes -
        Status Patch Available [ 10002 ] Open [ 1 ]
        Ivan A. Veselovsky made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12547980/HADOOP-8849-vs-trunk-2.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 1 new or modified test files.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 eclipse:eclipse. The patch built with eclipse:eclipse.

        -1 findbugs. The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        -1 core tests. The patch failed these unit tests in hadoop-common-project/hadoop-common:

        org.apache.hadoop.ha.TestZKFailoverController

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1562//testReport/
        Findbugs warnings: https://builds.apache.org/job/PreCommit-HADOOP-Build/1562//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-common.html
        Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1562//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12547980/HADOOP-8849-vs-trunk-2.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 1 new or modified test files. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. -1 findbugs . The patch appears to introduce 1 new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 core tests . The patch failed these unit tests in hadoop-common-project/hadoop-common: org.apache.hadoop.ha.TestZKFailoverController +1 contrib tests . The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1562//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-HADOOP-Build/1562//artifact/trunk/patchprocess/newPatchFindbugsWarningshadoop-common.html Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1562//console This message is automatically generated.
        Ivan A. Veselovsky made changes -
        Attachment HADOOP-8849-vs-trunk-2.patch [ 12547980 ]
        Hide
        Ivan A. Veselovsky added a comment -

        fixed another findbugs warning that appeared in path #2.

        Show
        Ivan A. Veselovsky added a comment - fixed another findbugs warning that appeared in path #2.
        Ivan A. Veselovsky made changes -
        Attachment HADOOP-8849-vs-trunk-3.patch [ 12547999 ]
        Ivan A. Veselovsky made changes -
        Status Patch Available [ 10002 ] Open [ 1 ]
        Ivan A. Veselovsky made changes -
        Status Open [ 1 ] Patch Available [ 10002 ]
        Ivan A. Veselovsky made changes -
        Attachment HADOOP-8849-vs-trunk-3.patch [ 12547999 ]
        Hide
        Ivan A. Veselovsky added a comment -

        corrected the formatting of the code (2 spaces, no tabs.)

        Show
        Ivan A. Veselovsky added a comment - corrected the formatting of the code (2 spaces, no tabs.)
        Ivan A. Veselovsky made changes -
        Attachment HADOOP-8849-vs-trunk-4.patch [ 12548002 ]
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12547999/HADOOP-8849-vs-trunk-3.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 1 new or modified test files.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 eclipse:eclipse. The patch built with eclipse:eclipse.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        -1 core tests. The patch failed these unit tests in hadoop-common-project/hadoop-common:

        org.apache.hadoop.ha.TestZKFailoverController

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1564//testReport/
        Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1564//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12547999/HADOOP-8849-vs-trunk-3.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 1 new or modified test files. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. -1 core tests . The patch failed these unit tests in hadoop-common-project/hadoop-common: org.apache.hadoop.ha.TestZKFailoverController +1 contrib tests . The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1564//testReport/ Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1564//console This message is automatically generated.
        Hide
        Hadoop QA added a comment -

        +1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12548002/HADOOP-8849-vs-trunk-4.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 1 new or modified test files.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 eclipse:eclipse. The patch built with eclipse:eclipse.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 core tests. The patch passed unit tests in hadoop-common-project/hadoop-common.

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1565//testReport/
        Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1565//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12548002/HADOOP-8849-vs-trunk-4.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 1 new or modified test files. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . The patch passed unit tests in hadoop-common-project/hadoop-common. +1 contrib tests . The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1565//testReport/ Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1565//console This message is automatically generated.
        Hide
        Ivan A. Veselovsky added a comment -

        Note: several times the automatic checking system complained about failed test org.apache.hadoop.ha.TestZKFailoverController .
        But the proposed change does not anyhow affect this test functionality – the methods FileUtil#fullyDelete() and FileUtil#fullyDeleteContent() are not called during this test execution: this can be proven with debugger. I think that test org.apache.hadoop.ha.TestZKFailoverController just fails sporadically.

        Show
        Ivan A. Veselovsky added a comment - Note: several times the automatic checking system complained about failed test org.apache.hadoop.ha.TestZKFailoverController . But the proposed change does not anyhow affect this test functionality – the methods FileUtil#fullyDelete() and FileUtil#fullyDeleteContent() are not called during this test execution: this can be proven with debugger. I think that test org.apache.hadoop.ha.TestZKFailoverController just fails sporadically.
        Hide
        Robert Joseph Evans added a comment -

        I am not sure that we actually want to do this change. FileUtil.fullyDelete is called by RawLocalFileSystem.delete for recursive deletes. With this change RawLocalFilesSystem will ignore permissions on recursive deletes if the user has the permission to change those permissions. In all other places that I have seen the API used I think it is OK, but this is also a publicly visible API so I don't know who else this may cause problems with. I would rather see a new API created separate from the original one, and the javadocs updated to explain the difference between the two APIs. Perhaps something like

        public static boolean fullyDelete(final File dir) {
          return fullyDelete(dir, false);
        }
        
          /**
           * Delete a directory and all its contents.  If
           * we return false, the directory may be partially-deleted.
           * (1) If dir is symlink to a file, the symlink is deleted. The file pointed
           *     to by the symlink is not deleted.
           * (2) If dir is symlink to a directory, symlink is deleted. The directory
           *     pointed to by symlink is not deleted.
           * (3) If dir is a normal file, it is deleted.
           * (4) If dir is a normal directory, then dir and all its contents recursively
           *     are deleted.
           * @param dir the file or directory to be deleted
           * @param tryUpdatePerms true if permissions should be modified to delete a file.
           * @return true on success false on failure.
           */
        public static boolean fullyDelete(final File dir, boolean tryUpdatePerms) {
         ...
        
        Show
        Robert Joseph Evans added a comment - I am not sure that we actually want to do this change. FileUtil.fullyDelete is called by RawLocalFileSystem.delete for recursive deletes. With this change RawLocalFilesSystem will ignore permissions on recursive deletes if the user has the permission to change those permissions. In all other places that I have seen the API used I think it is OK, but this is also a publicly visible API so I don't know who else this may cause problems with. I would rather see a new API created separate from the original one, and the javadocs updated to explain the difference between the two APIs. Perhaps something like public static boolean fullyDelete( final File dir) { return fullyDelete(dir, false ); } /** * Delete a directory and all its contents. If * we return false , the directory may be partially-deleted. * (1) If dir is symlink to a file, the symlink is deleted. The file pointed * to by the symlink is not deleted. * (2) If dir is symlink to a directory, symlink is deleted. The directory * pointed to by symlink is not deleted. * (3) If dir is a normal file, it is deleted. * (4) If dir is a normal directory, then dir and all its contents recursively * are deleted. * @param dir the file or directory to be deleted * @param tryUpdatePerms true if permissions should be modified to delete a file. * @ return true on success false on failure. */ public static boolean fullyDelete( final File dir, boolean tryUpdatePerms) { ...
        Hide
        Ivan A. Veselovsky added a comment -

        The patch HADOOP-8849trunk-5.patch implements the suggested change: the methods granting permissions before delete are extracted into a separate API.
        Also separate tests provided for them.

        Note: the imports and some other code especially arranged to avoid merge conflicts with the pending patch HADOOP-9063.

        Show
        Ivan A. Veselovsky added a comment - The patch HADOOP-8849 trunk -5.patch implements the suggested change: the methods granting permissions before delete are extracted into a separate API. Also separate tests provided for them. Note: the imports and some other code especially arranged to avoid merge conflicts with the pending patch HADOOP-9063 .
        Ivan A. Veselovsky made changes -
        Attachment HADOOP-8849-trunk--5.patch [ 12564973 ]
        Ivan A. Veselovsky made changes -
        Affects Version/s 3.0.0 [ 12320357 ]
        Affects Version/s 2.0.3-alpha [ 12323273 ]
        Affects Version/s 0.23.6 [ 12323504 ]
        Hide
        Hadoop QA added a comment -

        +1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12564973/HADOOP-8849-trunk--5.patch
        against trunk revision .

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 1 new or modified test files.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 eclipse:eclipse. The patch built with eclipse:eclipse.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 core tests. The patch passed unit tests in hadoop-common-project/hadoop-common.

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/2066//testReport/
        Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/2066//console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12564973/HADOOP-8849-trunk--5.patch against trunk revision . +1 @author . The patch does not contain any @author tags. +1 tests included . The patch appears to include 1 new or modified test files. +1 javac . The applied patch does not increase the total number of javac compiler warnings. +1 javadoc . The javadoc tool did not generate any warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit . The applied patch does not increase the total number of release audit warnings. +1 core tests . The patch passed unit tests in hadoop-common-project/hadoop-common. +1 contrib tests . The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/2066//testReport/ Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/2066//console This message is automatically generated.
        Hide
        Robert Joseph Evans added a comment -

        I just kicked the build again because the first time trunk was broken. The new patch looks fine to me +1. I'll check it in.

        Show
        Robert Joseph Evans added a comment - I just kicked the build again because the first time trunk was broken. The new patch looks fine to me +1. I'll check it in.
        Hide
        Hudson added a comment -

        Integrated in Hadoop-trunk-Commit #3256 (See https://builds.apache.org/job/Hadoop-trunk-Commit/3256/)
        HADOOP-8849. FileUtil#fullyDelete should grant the target directories +rwx permissions (Ivan A. Veselovsky via bobby) (Revision 1434868)

        Result = SUCCESS
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1434868
        Files :

        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
        Show
        Hudson added a comment - Integrated in Hadoop-trunk-Commit #3256 (See https://builds.apache.org/job/Hadoop-trunk-Commit/3256/ ) HADOOP-8849 . FileUtil#fullyDelete should grant the target directories +rwx permissions (Ivan A. Veselovsky via bobby) (Revision 1434868) Result = SUCCESS bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1434868 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
        Hide
        Robert Joseph Evans added a comment -

        Thanks Ivan,

        I put this into trunk, branch-2, and branch-0.23

        Show
        Robert Joseph Evans added a comment - Thanks Ivan, I put this into trunk, branch-2, and branch-0.23
        Robert Joseph Evans made changes -
        Status Patch Available [ 10002 ] Resolved [ 5 ]
        Fix Version/s 3.0.0 [ 12320357 ]
        Fix Version/s 2.0.3-alpha [ 12323273 ]
        Fix Version/s 0.23.7 [ 12323956 ]
        Resolution Fixed [ 1 ]
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Yarn-trunk #100 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/100/)
        HADOOP-8849. FileUtil#fullyDelete should grant the target directories +rwx permissions (Ivan A. Veselovsky via bobby) (Revision 1434868)

        Result = SUCCESS
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1434868
        Files :

        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
        Show
        Hudson added a comment - Integrated in Hadoop-Yarn-trunk #100 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/100/ ) HADOOP-8849 . FileUtil#fullyDelete should grant the target directories +rwx permissions (Ivan A. Veselovsky via bobby) (Revision 1434868) Result = SUCCESS bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1434868 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-0.23-Build #498 (See https://builds.apache.org/job/Hadoop-Hdfs-0.23-Build/498/)
        svn merge -c 1434868 FIXES: HADOOP-8849. FileUtil#fullyDelete should grant the target directories +rwx permissions (Ivan A. Veselovsky via bobby) (Revision 1434873)

        Result = FAILURE
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1434873
        Files :

        • /hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt
        • /hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
        • /hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-0.23-Build #498 (See https://builds.apache.org/job/Hadoop-Hdfs-0.23-Build/498/ ) svn merge -c 1434868 FIXES: HADOOP-8849 . FileUtil#fullyDelete should grant the target directories +rwx permissions (Ivan A. Veselovsky via bobby) (Revision 1434873) Result = FAILURE bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1434873 Files : /hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java /hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-trunk #1289 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1289/)
        HADOOP-8849. FileUtil#fullyDelete should grant the target directories +rwx permissions (Ivan A. Veselovsky via bobby) (Revision 1434868)

        Result = FAILURE
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1434868
        Files :

        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-trunk #1289 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1289/ ) HADOOP-8849 . FileUtil#fullyDelete should grant the target directories +rwx permissions (Ivan A. Veselovsky via bobby) (Revision 1434868) Result = FAILURE bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1434868 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Mapreduce-trunk #1317 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1317/)
        HADOOP-8849. FileUtil#fullyDelete should grant the target directories +rwx permissions (Ivan A. Veselovsky via bobby) (Revision 1434868)

        Result = FAILURE
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1434868
        Files :

        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
        • /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
        Show
        Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk #1317 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1317/ ) HADOOP-8849 . FileUtil#fullyDelete should grant the target directories +rwx permissions (Ivan A. Veselovsky via bobby) (Revision 1434868) Result = FAILURE bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1434868 Files : /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFileUtil.java
        Arun C Murthy made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Ivan A. Veselovsky
            Reporter:
            Ivan A. Veselovsky
          • Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development