You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2011/01/11 22:30:46 UTC

[jira] Commented: (HADOOP-7099) Make RawLocalFileSystem more friendly to sub-classing

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

Todd Lipcon commented on HADOOP-7099:
-------------------------------------

I haven't looked at your patch, but in general I think subclassing is a very fragile mechanism for providing new filesystems, so not sure if we should be making changes specifically for subclassers. We fell into this trap for a year or two in HBase development and it only came back to bite us hard later. FilterFileSystem is a much more maintainable mechanism. Does it fit the bill for your use case?

> Make RawLocalFileSystem more friendly to sub-classing
> -----------------------------------------------------
>
>                 Key: HADOOP-7099
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7099
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: fs
>    Affects Versions: 0.23.0
>            Reporter: Noah Watkins
>             Fix For: 0.23.0
>
>         Attachments: HADOOP-7099.patch
>
>
> This patch does 3 things that makes sub-classing RawLocalFileSystem easier.
> First, it adds a constructor that allows a sub-class to avoid calling getInitialWorkingDirectory(). This is important because if a sub-class has an initially null uri (prior to initialize() being called), then getInitialWorkingDirectory() will cause a NullPointerException when it tries to work with the FS's uri.
> Second, allows subclasses to modify the working directory.
> The third thing this patch does is change loadPermissions to not pass the URI object to the File(URI) constructor, but rather pass the string representation of the path. This is important because URI's that are not using the "file" scheme will cause the File(URI) constructor to throw an exception.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.