[
https://issues.apache.org/jira/browse/HADOOP-11201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14214968#comment-14214968
]
Chris Nauroth commented on HADOOP-11201:
----------------------------------------
Hi, [~jira.shegalov]. This is a good find. Thank you for posting a patch.
>From reading this code, it's unclear to me why it ever bothered splitting
>directory paths into the separate {{justDirs}} list. The subsequent logic
>operates on the parents of the paths. A parent is by definition always going
>to be a directory. I think we can remove {{justDirs}} entirely and change the
>inner loop to iterate directly over {{paths}} instead. Do you agree?
If any of the other watchers can think of a reason for the {{justDirs}} logic,
please comment. I couldn't find anything relevant in revision history.
> Hadoop Archives should support globs resolving to files
> -------------------------------------------------------
>
> Key: HADOOP-11201
> URL: https://issues.apache.org/jira/browse/HADOOP-11201
> Project: Hadoop Common
> Issue Type: Bug
> Components: tools
> Affects Versions: 2.0.5-alpha
> Reporter: Gera Shegalov
> Assignee: Gera Shegalov
> Priority: Blocker
> Attachments: HADOOP-11201.v01.patch
>
>
> Consider the following scenario:
> {code}
> $ hadoop fs -ls /tmp/harsrc/dir2/dir3
> Found 5 items
> -rw-r--r-- 1 blah blah 0 2014-10-13 20:59
> /tmp/harsrc/dir2/dir3/file31
> -rw-r--r-- 1 blah blah 0 2014-10-14 01:51
> /tmp/harsrc/dir2/dir3/file32
> -rw-r--r-- 1 blah blah 0 2014-10-14 01:51
> /tmp/harsrc/dir2/dir3/file33
> -rw-r--r-- 1 blah blah 0 2014-10-14 01:51
> /tmp/harsrc/dir2/dir3/file34
> -rw-r--r-- 1 blah blah 0 2014-10-14 01:51
> /tmp/harsrc/dir2/dir3/file35
> {code}
> Archive 'dir3/file3*':
> {code}
> $ hadoop archive -Dmapreduce.framework.name=local -archiveName fileStar.har
> -p /tmp/harsrc 'dir2/dir3/file*' /tmp/hardst_local
> $ hadoop fs -ls -R har:/tmp/hardst_local/fileStar.har
> drwxr-xr-x - blah blah 0 2014-10-13 22:32
> har:///tmp/hardst_local/fileStar.har/dir2
> {code}
> Archiving dir3 (directory) which is equivalent to the above works.
> {code}
> $ hadoop archive -Dmapreduce.framework.name=local -archiveName dir3.har -p
> /tmp/harsrc 'dir2/dir3' /tmp/hardst_local
> $ hadoop fs -ls -R har:/tmp/hardst_local/dir3.har
> 14/10/14 02:06:33 WARN util.NativeCodeLoader: Unable to load native-hadoop
> library for your platform... using builtin-java classes where applicable
> drwxr-xr-x - blah blah 0 2014-10-13 22:32
> har:///tmp/hardst_local/dir3.har/dir2
> drwxr-xr-x - blah blah 0 2014-10-14 01:51
> har:///tmp/hardst_local/dir3.har/dir2/dir3
> -rw-r--r-- 1 blah blah 0 2014-10-13 20:59
> har:///tmp/hardst_local/dir3.har/dir2/dir3/file31
> -rw-r--r-- 1 blah blah 0 2014-10-14 01:51
> har:///tmp/hardst_local/dir3.har/dir2/dir3/file32
> -rw-r--r-- 1 blah blah 0 2014-10-14 01:51
> har:///tmp/hardst_local/dir3.har/dir2/dir3/file33
> -rw-r--r-- 1 blah blah 0 2014-10-14 01:51
> har:///tmp/hardst_local/dir3.har/dir2/dir3/file34
> -rw-r--r-- 1 blah blah 0 2014-10-14 01:51
> har:///tmp/hardst_local/dir3.har/dir2/dir3/file35
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)