[
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)