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

ASF GitHub Bot commented on BROOKLYN-129:
-----------------------------------------

Github user michaeldye commented on the pull request:

    https://github.com/apache/incubator-brooklyn/pull/471#issuecomment-71680008
  
    @sjcorbett @aledsage Thank you for the discussion. I agree that it really 
should be up to the caller to provide acceptable arguments to 
```Urls.mergePaths(String... items)``` and that this method should merely 
enforce that contract by throwing an exception given a null arg. Since the null 
values in this case aren't dereferenced, but rather passed to 
```StringBuilder.append()```, does an NPE make the most sense? How about an 
```IllegalArgumentException``` and a message including the rest of the path to 
help someone debug it later?
    
    If you agree, I'll update this PR with the behavior desired for mergePaths 
and create another PR with updates to the calling code. Thanks!


> brooklyn.util.net.Urls.mergePaths(String... items) doesn't filter null values
> -----------------------------------------------------------------------------
>
>                 Key: BROOKLYN-129
>                 URL: https://issues.apache.org/jira/browse/BROOKLYN-129
>             Project: Brooklyn
>          Issue Type: Bug
>    Affects Versions: 0.7.0-M2
>            Reporter: michael dye
>             Fix For: 0.7.0-M2
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> brooklyn.util.net.Urls.mergePaths(String... items) iterates over given array 
> of paths and merges them, including null values. In some cases, this can lead 
> to later evaluation of paths like "null/foo.tar.gz". Logging from error 
> encountered while deploying from a Chef recipe:
> {noformat}
> 2015-01-20 20:55:31,652 WARN  Error invoking start at 
> BasicApplicationImpl{id=wjm4Zaws}: Error invoking start at 
> BasicApplicationImpl{id=wjm4Zaws}: Error invoking start at 
> ChefEntityImpl{id=AfLQVhJO}: SSH task ended with exit code 2 when 0 was 
> required, in Task[ssh: extracting archive:hEupCHeQ]: extracting archive
> ...
> cd /root/brooklyn-managed-processes/installs/chef/tmp-brooklyn_doc_gen-ZWet
> tar xvfz null/brooklyn_doc_gen.tar.gz
> rm null/brooklyn_doc_gen.tar.gz
> {noformat}



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

Reply via email to