Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-9805

Refactor RawLocalFileSystem#rename for improved testability.

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1-win, 1.3.0, 2.1.1-beta, 3.0.0-alpha1
    • Fix Version/s: 2.8.0, 3.0.0-alpha1
    • Component/s: fs, test
    • Labels:
    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      RawLocalFileSystem#rename contains fallback logic to provide POSIX rename behavior on platforms where java.io.File#renameTo fails. The method returns early if java.io.File#renameTo succeeds, so test runs may not cover the fallback logic depending on the platform.

      1. HADOOP-9805.001.patch
        6 kB
        Jean-Pierre Matsumoto
      2. HADOOP-9805.002.patch
        6 kB
        Jean-Pierre Matsumoto
      3. HADOOP-9805.003.patch
        6 kB
        Jean-Pierre Matsumoto

        Issue Links

          Activity

          Hide
          cnauroth Chris Nauroth added a comment -

          If the fallback logic was refactored into a static VisibleForTesting method, then we could write tests to cover that code on any platform. Thanks to Steve Loughran for the idea.

          Show
          cnauroth Chris Nauroth added a comment - If the fallback logic was refactored into a static VisibleForTesting method, then we could write tests to cover that code on any platform. Thanks to Steve Loughran for the idea.
          Hide
          cnauroth Chris Nauroth added a comment -

          Linking to HADOOP-9507, which prompted this discussion.

          Show
          cnauroth Chris Nauroth added a comment - Linking to HADOOP-9507 , which prompted this discussion.
          Hide
          stevel@apache.org Steve Loughran added a comment -

          Now that Hadoop is 2.7+ only the new nativeio operations can be used for rename & other things, which fail better

          Show
          stevel@apache.org Steve Loughran added a comment - Now that Hadoop is 2.7+ only the new nativeio operations can be used for rename & other things, which fail better
          Hide
          jpmat Jean-Pierre Matsumoto added a comment -

          Thanks for the input. But I found more calls to RawLocalFileSystem.rename(Path,Path) than TestNativeIO.renameTo(File,File). I hope my patch will be a bit useful.

          Show
          jpmat Jean-Pierre Matsumoto added a comment - Thanks for the input. But I found more calls to RawLocalFileSystem.rename(Path,Path) than TestNativeIO.renameTo(File,File) . I hope my patch will be a bit useful.
          Hide
          jpmat Jean-Pierre Matsumoto added a comment -

          Tested on OSX, Linux, Windows.

          Show
          jpmat Jean-Pierre Matsumoto added a comment - Tested on OSX, Linux, Windows.
          Hide
          hadoopqa Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12708016/HADOOP-9805.001.patch
          against trunk revision 3d9132d.

          +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. There were no new javadoc warning messages.

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

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) 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.

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

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12708016/HADOOP-9805.001.patch against trunk revision 3d9132d. +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 . There were no new javadoc warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) 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. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/6021//testReport/ Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/6021//console This message is automatically generated.
          Hide
          stevel@apache.org Steve Loughran added a comment -

          LGTM. Chris: what do you think?

          Show
          stevel@apache.org Steve Loughran added a comment - LGTM. Chris: what do you think?
          Hide
          cmccabe Colin P. McCabe added a comment -
          366	    // Enforce POSIX rename behavior that a source directory replaces an
          367	    // existing destination if the destination is an empty directory. On most
          368	    // platforms, this is already handled by the Java API call above. Some
          369	    // platforms (notably Windows) do not provide this behavior, so the Java API
          370	    // call renameTo(dstFile) fails. Delete destination and attempt rename
          371	    // again.
          

          This code should not be needed on UNIX, right? This should be inside an if (Shell.WINDOWS) block.

          This also contains a small race condition where if the rename fails due to an existing file, but that file is deleted by another thread in between the rename and the call to File#exists, we will erroneously return false. Of course this bug is Windows-specific and we could easily fix it in a follow-on JIRA (probably via JNI code).

          Show
          cmccabe Colin P. McCabe added a comment - 366 // Enforce POSIX rename behavior that a source directory replaces an 367 // existing destination if the destination is an empty directory. On most 368 // platforms, this is already handled by the Java API call above. Some 369 // platforms (notably Windows) do not provide this behavior, so the Java API 370 // call renameTo(dstFile) fails. Delete destination and attempt rename 371 // again. This code should not be needed on UNIX, right? This should be inside an if (Shell.WINDOWS) block. This also contains a small race condition where if the rename fails due to an existing file, but that file is deleted by another thread in between the rename and the call to File#exists , we will erroneously return false . Of course this bug is Windows-specific and we could easily fix it in a follow-on JIRA (probably via JNI code).
          Hide
          jpmat Jean-Pierre Matsumoto added a comment -

          Patch 002 attached.

          Additional condition if (Shell.WINDOWS) added.

          All the class is not thread-safe. I assume it’s better to keep it as is. And reliable way to rename with Hadoop 2.7+ is to use NativeIO#renameTo(File, File) as noted by Steve’s comment above.

          Show
          jpmat Jean-Pierre Matsumoto added a comment - Patch 002 attached. Additional condition if (Shell.WINDOWS) added. All the class is not thread-safe. I assume it’s better to keep it as is. And reliable way to rename with Hadoop 2.7+ is to use NativeIO#renameTo(File, File) as noted by Steve’s comment above.
          Hide
          hadoopqa Hadoop QA added a comment -

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

          +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. There were no new javadoc warning messages.

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

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) 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.

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

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12708249/HADOOP-9805.002.patch against trunk revision cc0a01c. +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 . There were no new javadoc warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) 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. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/6027//testReport/ Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/6027//console This message is automatically generated.
          Hide
          cmccabe Colin P. McCabe added a comment -

          Looks good.

          How about changing "renamePOSIX" to be named "handleEmptyDstDirectoryOnWindows"?

          "renamePOSIX" sounds like something that should be called on POSIX platforms, not on Windows. Also, it doesn't suggest that its use case is handling empty destination directories.

          Show
          cmccabe Colin P. McCabe added a comment - Looks good. How about changing "renamePOSIX" to be named "handleEmptyDstDirectoryOnWindows"? "renamePOSIX" sounds like something that should be called on POSIX platforms, not on Windows. Also, it doesn't suggest that its use case is handling empty destination directories.
          Hide
          cnauroth Chris Nauroth added a comment -

          It's unfortunate that the new method has to run pathToFile on the source and destination again. There is quite a bit of work behind that method call, and the result is already available in the scope of rename.
          I suggest that the new method accept the arguments as both Path and File to avoid the redundant call. Combining that with Colin's rename suggestion, the signature would be:

          public final boolean handleEmptyDstDirectoryOnWindows(Path src, File srcFile, Path dst, File dstFile) throws IOException
          

          Admittedly, that's a strange method signature, but this is only meant to be visible for testing, not as a public API. To that end, let's also mark the method final.

          Of course this bug is Windows-specific and we could easily fix it in a follow-on JIRA (probably via JNI code).

          I'm not sure this is true. Last time I checked, it looked like the Windows API did not offer any way to match the POSIX semantics exactly. I'd be happy to be proven wrong though, because the current approach is admittedly not atomic.

          Show
          cnauroth Chris Nauroth added a comment - It's unfortunate that the new method has to run pathToFile on the source and destination again. There is quite a bit of work behind that method call, and the result is already available in the scope of rename . I suggest that the new method accept the arguments as both Path and File to avoid the redundant call. Combining that with Colin's rename suggestion, the signature would be: public final boolean handleEmptyDstDirectoryOnWindows(Path src, File srcFile, Path dst, File dstFile) throws IOException Admittedly, that's a strange method signature, but this is only meant to be visible for testing, not as a public API. To that end, let's also mark the method final . Of course this bug is Windows-specific and we could easily fix it in a follow-on JIRA (probably via JNI code). I'm not sure this is true. Last time I checked, it looked like the Windows API did not offer any way to match the POSIX semantics exactly. I'd be happy to be proven wrong though, because the current approach is admittedly not atomic.
          Hide
          jpmat Jean-Pierre Matsumoto added a comment -

          Patch 003 attached. I have taken account Colin's and Chris's feedbacks.

          Show
          jpmat Jean-Pierre Matsumoto added a comment - Patch 003 attached. I have taken account Colin's and Chris's feedbacks.
          Hide
          cmccabe Colin P. McCabe added a comment -

          +1 from me. Will hold off a bit in case others have comments.

          Show
          cmccabe Colin P. McCabe added a comment - +1 from me. Will hold off a bit in case others have comments.
          Hide
          hadoopqa Hadoop QA added a comment -

          +1 overall. Here are the results of testing the latest attachment
          http://issues.apache.org/jira/secure/attachment/12708851/HADOOP-9805.003.patch
          against trunk revision 75cb1d4.

          +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. There were no new javadoc warning messages.

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

          +1 findbugs. The patch does not introduce any new Findbugs (version 2.0.3) 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.

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

          This message is automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - +1 overall . Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12708851/HADOOP-9805.003.patch against trunk revision 75cb1d4. +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 . There were no new javadoc warning messages. +1 eclipse:eclipse . The patch built with eclipse:eclipse. +1 findbugs . The patch does not introduce any new Findbugs (version 2.0.3) 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. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/6046//testReport/ Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/6046//console This message is automatically generated.
          Hide
          cnauroth Chris Nauroth added a comment -

          +1 from me too. Thanks! I'll commit this in a few hours unless someone else beats me to it.

          Show
          cnauroth Chris Nauroth added a comment - +1 from me too. Thanks! I'll commit this in a few hours unless someone else beats me to it.
          Hide
          cnauroth Chris Nauroth added a comment -

          I committed this to trunk and branch-2. Jean-Pierre Matsumoto, thank you for contributing the patch. Steve and Colin, thank you for the code reviews.

          Show
          cnauroth Chris Nauroth added a comment - I committed this to trunk and branch-2. Jean-Pierre Matsumoto , thank you for contributing the patch. Steve and Colin, thank you for the code reviews.
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in Hadoop-trunk-Commit #7499 (See https://builds.apache.org/job/Hadoop-trunk-Commit/7499/)
          HADOOP-9805. Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd)

          • hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java
          • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
          • hadoop-common-project/hadoop-common/CHANGES.txt
          Show
          hudson Hudson added a comment - FAILURE: Integrated in Hadoop-trunk-Commit #7499 (See https://builds.apache.org/job/Hadoop-trunk-Commit/7499/ ) HADOOP-9805 . Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd) hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java hadoop-common-project/hadoop-common/CHANGES.txt
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in Hadoop-Yarn-trunk-Java8 #152 (See https://builds.apache.org/job/Hadoop-Yarn-trunk-Java8/152/)
          HADOOP-9805. Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd)

          • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
          • hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java
          • hadoop-common-project/hadoop-common/CHANGES.txt
          Show
          hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Yarn-trunk-Java8 #152 (See https://builds.apache.org/job/Hadoop-Yarn-trunk-Java8/152/ ) HADOOP-9805 . Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java hadoop-common-project/hadoop-common/CHANGES.txt
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in Hadoop-Yarn-trunk #886 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/886/)
          HADOOP-9805. Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd)

          • hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java
          • hadoop-common-project/hadoop-common/CHANGES.txt
          • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
          Show
          hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Yarn-trunk #886 (See https://builds.apache.org/job/Hadoop-Yarn-trunk/886/ ) HADOOP-9805 . Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd) hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java hadoop-common-project/hadoop-common/CHANGES.txt hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
          Hide
          jpmat Jean-Pierre Matsumoto added a comment -

          You're welcome. I'm glad to contribute.

          Show
          jpmat Jean-Pierre Matsumoto added a comment - You're welcome. I'm glad to contribute.
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in Hadoop-Hdfs-trunk-Java8 #143 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/143/)
          HADOOP-9805. Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd)

          • hadoop-common-project/hadoop-common/CHANGES.txt
          • hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java
          • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
          Show
          hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Hdfs-trunk-Java8 #143 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Java8/143/ ) HADOOP-9805 . Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd) hadoop-common-project/hadoop-common/CHANGES.txt hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in Hadoop-Hdfs-trunk #2084 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/2084/)
          HADOOP-9805. Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd)

          • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
          • hadoop-common-project/hadoop-common/CHANGES.txt
          • hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java
          Show
          hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Hdfs-trunk #2084 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/2084/ ) HADOOP-9805 . Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd) hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java hadoop-common-project/hadoop-common/CHANGES.txt hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in Hadoop-Mapreduce-trunk-Java8 #153 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Java8/153/)
          HADOOP-9805. Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd)

          • hadoop-common-project/hadoop-common/CHANGES.txt
          • hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java
          • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
          Show
          hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Mapreduce-trunk-Java8 #153 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Java8/153/ ) HADOOP-9805 . Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd) hadoop-common-project/hadoop-common/CHANGES.txt hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in Hadoop-Mapreduce-trunk #2102 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/2102/)
          HADOOP-9805. Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd)

          • hadoop-common-project/hadoop-common/CHANGES.txt
          • hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java
          • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java
          Show
          hudson Hudson added a comment - FAILURE: Integrated in Hadoop-Mapreduce-trunk #2102 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/2102/ ) HADOOP-9805 . Refactor RawLocalFileSystem#rename for improved testability. Contributed by Jean-Pierre Matsumoto. (cnauroth: rev 5763b173d34dcf7372520076f00b576f493662cd) hadoop-common-project/hadoop-common/CHANGES.txt hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/rawlocal/TestRawlocalContractRename.java hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/RawLocalFileSystem.java

            People

            • Assignee:
              jpmat Jean-Pierre Matsumoto
              Reporter:
              cnauroth Chris Nauroth
            • Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development