[ 
https://issues.apache.org/jira/browse/HADOOP-9646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13685844#comment-13685844
 ] 

Suresh Srinivas commented on HADOOP-9646:
-----------------------------------------

+1 for the patch.

However, on second thought, though this patch clearly cleans up the code, 
breaks the Java API compatibility (not wire compatibility). My thoughts are:
# This is a minor code cleanup, so lets not break the API compatibility. Lets 
deprecate this method and add a comment about using the other method instead of 
this. Remove this method in a later release.
# In 2.x release, we are striving for API stabilization. Given that 
applications need to recompile anyway against 2.x, lets make this change. Given 
compatibility issue is flagged during compile time, it should be easy for 
applications to change.

I am leaning towards (2) and hence going ahead with this Java API 
incompatibility. I want to make sure others do not have any concern with this.
                
> Inconsistent exception specifications in FileUtils#chmod
> --------------------------------------------------------
>
>                 Key: HADOOP-9646
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9646
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>             Fix For: 2.1.0-beta
>
>         Attachments: HADOOP-9646.001.patch, HADOOP-9646.002.patch
>
>
> There are two FileUtils#chmod methods:
> {code}
> public static int chmod(String filename, String perm
>                           ) throws IOException, InterruptedException;
> public static int chmod(String filename, String perm, boolean recursive)
>                             throws IOException;
> {code}
> The first one just calls the second one with {{recursive = false}}, but 
> despite that it is declared as throwing {{InterruptedException}}, something 
> the second one doesn't declare.
> The new Java7 chmod API, which we will transition to once JDK6 support is 
> dropped, does *not* throw {{InterruptedException}}
> See 
> [http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#setOwner(java.nio.file.Path,
>  java.nio.file.attribute.UserPrincipal)]
> So we should make these consistent by removing the {{InterruptedException}}

--
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

Reply via email to