[ https://issues.apache.org/jira/browse/MAPREDUCE-2317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13023250#comment-13023250
]
Tsz Wo (Nicholas), SZE commented on MAPREDUCE-2317:
---------------------------------------------------
+1 patch look good. Thanks a lot!
> 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, 0.23.0
>
> Attachments: MAPREDUCE-2317-0.20.patch, MAPREDUCE-2317-trunk.patch, 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
|