[ https://issues.apache.org/jira/browse/MINDEXER-43?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17965245#comment-17965245 ]
Olivier Lamy commented on MINDEXER-43: -------------------------------------- This project has moved from Jira to GitHub Issues. This issue was migrated to [apache/maven-indexer#517|https://github.com/apache/maven-indexer/issues/517]. > WagonFetch.retrieve swallows root causes of problems > ---------------------------------------------------- > > Key: MINDEXER-43 > URL: https://issues.apache.org/jira/browse/MINDEXER-43 > Project: Maven Indexer (Moved to GitHub Issues) > Issue Type: Bug > Affects Versions: 4.1.2 > Reporter: Jesse N. Glick > Assignee: Olivier Lamy > Priority: Minor > Fix For: 4.1.3 > > > {{WagonFetch.retrieve}} catches {{AuthorizationException}}, > {{ResourceDoesNotExistException}}, and {{WagonException}} and rethrows as > {{IOException}} without including the original exception as a cause. This may > make it more difficult to diagnose errors: while > {{TransferListener.transferError}} will receive the root exception, it may > not be obvious that an error here is the "final" error (e.g. if a {{.gz}} > index cannot be found but a {{.zip}} can); inspecting the final > {{IOException}} from {{IndexUpdater.fetchAndUpdateIndex}} is more convenient. > Fix should be easy: in {{retrieve}}, replace the three occurrences of > {code:java} > throw new SomeException( ... ); > {code} > with > {code:java} > SomeException e2 = new SomeException( ... ); > e2.initCause( e ); > throw e2; > {code} > ({{IOException}} has a constructor to do this directly in JDK 6 but I guess > you are compatible with JDK 5. Anyway {{FileNotFoundException}} still does > not.) -- This message was sent by Atlassian Jira (v8.20.10#820010)