Return-Path: X-Original-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7873198E6 for ; Wed, 22 May 2013 02:50:23 +0000 (UTC) Received: (qmail 88174 invoked by uid 500); 22 May 2013 02:50:21 -0000 Delivered-To: apmail-hadoop-common-issues-archive@hadoop.apache.org Received: (qmail 87878 invoked by uid 500); 22 May 2013 02:50:21 -0000 Mailing-List: contact common-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-issues@hadoop.apache.org Delivered-To: mailing list common-issues@hadoop.apache.org Received: (qmail 87626 invoked by uid 99); 22 May 2013 02:50:20 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 May 2013 02:50:20 +0000 Date: Wed, 22 May 2013 02:50:20 +0000 (UTC) From: "Ivan Mitic (JIRA)" To: common-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (HADOOP-9590) Move to JDK7 improved APIs for file operations when available MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 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