hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Mitic (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HADOOP-9590) Move to JDK7 improved APIs for file operations when available
Date Wed, 22 May 2013 02:50:20 GMT
Ivan Mitic created HADOOP-9590:
----------------------------------

             Summary: Move to JDK7 improved APIs for file operations when available
                 Key: HADOOP-9590
                 URL: https://issues.apache.org/jira/browse/HADOOP-9590
             Project: Hadoop Common
          Issue Type: Improvement
            Reporter: Ivan Mitic


JDK6 does not have a complete support for local file system file operations. Specifically:
- JDK6 does not provide symlink/hardlink APIs what forced Hadoop to defer to shell based tooling
- JDK6 does not return any useful error information when File#mkdir/mkdirs or File#renameTo
fails making it unnecessary hard to troubleshoot some issues
- JDK6 File#canRead/canWrite/canExecute do not perform any access checks on Windows making
APIs inconsistent with the Unix behavior
- JDK6 File#setReadable/setWritable/setExecutable do not change access rights on Windows making
APIs inconsistent with the Unix behavior
- JDK6 File#length does not work as expected on symlinks on Windows
- JDK6 File#renameTo does not work as expected on symlinks on Windows

All above resulted in Hadoop community having to fill in the gaps by providing equivalent
native implementations or applying workarounds. 

JDK7 addressed (as far as I know) all (or most) of the above problems, either thru the newly
introduced [Files|http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html] class
or thru bug fixes.

This is a tracking Jira to revisit above mediations once JDK7 becomes the supported platform
by the Hadoop community. This work would allow significant portion of the native platform-dependent
code to be replaced with Java equivalents what is goodness w.r.t. Hadoop cross-platform support.



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message