hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tsz Wo (Nicholas), SZE (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAPREDUCE-2317) HadoopArchives throwing NullPointerException while creating hadoop archives (.har files)
Date Wed, 13 Apr 2011 17:58:05 GMT

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

Tsz Wo (Nicholas), SZE commented on MAPREDUCE-2317:
---------------------------------------------------

Let me clarify my question: after the patch, the codes look like
{code}
Path parent = p.getParent();
if(null != parent) {
  ...
}
parents.add(parent);
{code}
If {{parent == null}}, we add it to {{parents}}.  Should it not be added? Otherwise, I think
we will get NPE later.

> HadoopArchives throwing NullPointerException while creating hadoop archives (.har files)
> ----------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-2317
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2317
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: harchive
>    Affects Versions: 0.20.3
>         Environment: windows
>            Reporter: Devaraj K
>            Assignee: Devaraj K
>            Priority: Minor
>             Fix For: 0.20.3
>
>         Attachments: MAPREDUCE-2317.patch
>
>
> While we are trying to run hadoop archive tool in widows using this way, it is giving
the below exception.
> java org.apache.hadoop.tools.HadoopArchives -archiveName temp.har D:/test/in E:/temp
> {code:xml} 
> java.lang.NullPointerException
> 	at org.apache.hadoop.tools.HadoopArchives.writeTopLevelDirs(HadoopArchives.java:320)
> 	at org.apache.hadoop.tools.HadoopArchives.archive(HadoopArchives.java:386)
> 	at org.apache.hadoop.tools.HadoopArchives.run(HadoopArchives.java:725)
> 	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
> 	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
> 	at org.apache.hadoop.tools.HadoopArchives.main(HadoopArchives.java:739)
> {code} 
> I see the code flow to handle this feature in windows also, 
> {code:title=Path.java|borderStyle=solid}
> /** Returns the parent of a path or null if at root. */
>   public Path getParent() {
>     String path = uri.getPath();
>     int lastSlash = path.lastIndexOf('/');
>     int start = hasWindowsDrive(path, true) ? 3 : 0;
>     if ((path.length() == start) ||               // empty path
>         (lastSlash == start && path.length() == start+1)) { // at root
>       return null;
>     }
>     String parent;
>     if (lastSlash==-1) {
>       parent = CUR_DIR;
>     } else {
>       int end = hasWindowsDrive(path, true) ? 3 : 0;
>       parent = path.substring(0, lastSlash==end?end+1:lastSlash);
>     }
>     return new Path(uri.getScheme(), uri.getAuthority(), parent);
>   }
> {code} 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message