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

Jason Lowe commented on HADOOP-8906:
------------------------------------

The changes look good, but I think there's a lingering bug wrt. how 
GlobExpander's results are handled.  For example, I would expect the following 
test to pass:
{noformat}
      assertEquals(0, fs.globStatus(new 
Path("/{nonexistent1/a,nonexistent2/b}")).length);
{noformat}
However it fails because globStatus is returning null instead of an empty 
array.  FsShell relies on the fact that globStatus will never return null for 
paths that contain pattern characters, and we could end up creating paths with 
pattern characters.  I checked trunk, and it turns out this test crashes 
globStatus internally.  Not crashing is nice, but we shouldn't be reporting 
null for paths with pattern characters.  Fortunately the fix is pretty easy.  
We just need to check if GlobExpander returned more than one result which 
implies patterns were used and we should convert a result of null into an empty 
array in that case.
                
> paths with multiple globs are unreliable
> ----------------------------------------
>
>                 Key: HADOOP-8906
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8906
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>    Affects Versions: 0.23.0, 2.0.0-alpha, 3.0.0
>            Reporter: Daryn Sharp
>            Assignee: Daryn Sharp
>            Priority: Critical
>         Attachments: HADOOP-8906.patch, HADOOP-8906.patch
>
>
> Let's say we have have a structure of "$date/$user/stuff/file".  Multiple 
> globs are unreliable unless every directory in the structure exists.
> These work:
> date*/user
> date*/user/stuff
> date*/user/stuff/file
> These fail:
> date*/user/*
> date*/user/*/*
> date*/user/stu*
> date*/user/stu*/*
> date*/user/stu*/file
> date*/user/stuff/*
> date*/user/stuff/f*

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to