hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Wang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-11156) DelegateToFileSystem should implement getFsStatus(final Path f).
Date Tue, 30 Sep 2014 23:42:34 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-11156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andrew Wang updated HADOOP-11156:
---------------------------------
       Resolution: Fixed
    Fix Version/s: 2.7.0
           Status: Resolved  (was: Patch Available)

Committed to trunk and branch-2. I haven't seen an announcement yet about branch-2.6, but
I assume that since it exists, branch-2 = 2.7.0 now.

> DelegateToFileSystem should implement getFsStatus(final Path f).
> ----------------------------------------------------------------
>
>                 Key: HADOOP-11156
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11156
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>            Reporter: zhihai xu
>            Assignee: zhihai xu
>             Fix For: 2.7.0
>
>         Attachments: HADOOP-11156.000.patch
>
>
> DelegateToFileSystem only implemented getFsStatus() and didn't implement getFsStatus(final
Path f). So if you call getFsStatus(final Path f), it will call  AbstractFileSystem.getFsStatus(final
Path f) which will also call DelegateToFileSystem.getFsStatus(). It should implement getFsStatus(final
Path f) to call fsImpl.getStatus(f) instead of calling fsImpl.getStatus() from getFsStatus().
> Also based on the following description for FileContext.getFsStatus:
> {code} 
> /**
>    * Returns a status object describing the use and capacity of the
>    * file system denoted by the Parh argument p.
>    * If the file system has multiple partitions, the
>    * use and capacity of the partition pointed to by the specified
>    * path is reflected.
>    * 
>    * @param f Path for which status should be obtained. null means the
>    * root partition of the default file system. 
>    *
>    * @return a FsStatus object
>    *
>    * @throws AccessControlException If access is denied
>    * @throws FileNotFoundException If <code>f</code> does not exist
>    * @throws UnsupportedFileSystemException If file system for <code>f</code>
is
>    *           not supported
>    * @throws IOException If an I/O error occurred
>    * 
>    * Exceptions applicable to file systems accessed over RPC:
>    * @throws RpcClientException If an exception occurred in the RPC client
>    * @throws RpcServerException If an exception occurred in the RPC server
>    * @throws UnexpectedServerException If server implementation throws 
>    *           undeclared exception to RPC server
>    */
>   public FsStatus getFsStatus(final Path f) throws AccessControlException,
>       FileNotFoundException, UnsupportedFileSystemException, IOException {
>     if (f == null) {
>       return defaultFS.getFsStatus();
>     }
>     final Path absF = fixRelativePart(f);
>     return new FSLinkResolver<FsStatus>() {
>       @Override
>       public FsStatus next(final AbstractFileSystem fs, final Path p) 
>         throws IOException, UnresolvedLinkException {
>         return fs.getFsStatus(p);
>       }
>     }.resolve(this, absF);
>   }
> {code}
> we should differentiate getFsStatus(final Path f) from getFsStatus() in DelegateToFileSystem.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message