[
http://jira.codehaus.org/browse/WAGON-73?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_88529
]
Joakim Erdfelt commented on WAGON-73:
-------------------------------------
The only possible way for this to loop infinitely is to have a cycle in the
mirror list.
A -> B -> C -> A
Instead of tackling this cycle directly, I am pre-initializing the mirror list
on construction of the MirroredWagon to make it clear what is going on for
future developers looking at this code.
> MirroredWagon infinite loop
> ---------------------------
>
> Key: WAGON-73
> URL: http://jira.codehaus.org/browse/WAGON-73
> Project: wagon
> Issue Type: Bug
> Reporter: Phillip Webb
> Assigned To: Joakim Erdfelt
> Priority: Critical
>
> The MirroredWagon class includes a get method that runs into an infinite loop.
> I think a return is required after this.impl.get( resource, destination );
> public void get( String resource, File destination )
> throws TransferFailedException, ResourceDoesNotExistException,
> AuthorizationException
> {
> try
> {
> while ( true )
> {
> try
> {
> this.impl.get( resource, destination );
> }
> catch ( TransferFailedException e )
> {
> nextMirror();
> }
> }
> }
> catch ( ExhaustedMirrorsException e )
> {
> }
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira