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

Zhang Wei commented on HADOOP-12053:
------------------------------------

Hi guys, any progress about this issue? I checked the related code,   "-1" 
means the port is omitted from the given URI. When "-1" is given in the URI,  
checkPath() will get the default port from the implemented class of 
AbstractFileSystem, in this scenario the implemented class indicates HarFs. 
HarFs should tell checkPath the default port is "0" , which means "I don't have 
a port". then It will match the default port "0"  in HarFileSystem and pass the 
check.
At present, HarFs returns "-1", It seems like a Q&A:
 checkPath : What's the default port? 
getUriDefaultPort: The default port is default port.

BTW: I think RawLocalFs may have the same issue.

> Harfs defaulturiport should be Zero ( should not -1)
> ----------------------------------------------------
>
>                 Key: HADOOP-12053
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12053
>             Project: Hadoop Common
>          Issue Type: Bug
>            Reporter: Brahma Reddy Battula
>            Assignee: Brahma Reddy Battula
>
> The harfs overrides the "getUriDefaultPort" method of AbstractFilesystem, and 
> returns "-1" . But "-1" can't pass the "checkPath" method when the 
> {{fs.defaultfs}} is setted without port(like hdfs://hacluster)
>  *Test Code :* 
> {code}
> for (FileStatus file : files) {
>           String[] edges = file.getPath().getName().split("-");
>           if (applicationId.toString().compareTo(edges[0]) >= 0 && 
> applicationId.toString().compareTo(edges[1]) <= 0) {
>             Path harPath = new Path("har://" + 
> file.getPath().toUri().getPath());
>             harPath = harPath.getFileSystem(conf).makeQualified(harPath);
>             remoteAppDir = LogAggregationUtils.getRemoteAppLogDir(
>                 harPath, applicationId, appOwner,
>                 LogAggregationUtils.getRemoteNodeLogDirSuffix(conf));
>             if 
> (FileContext.getFileContext(remoteAppDir.toUri()).util().exists(remoteAppDir))
>  {
>                 remoteDirSet.add(remoteAppDir);
>             }
> {code}



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

Reply via email to