Chain resolver returns the wrong artifact after deleting from a repo
--------------------------------------------------------------------

                 Key: IVY-1048
                 URL: https://issues.apache.org/jira/browse/IVY-1048
             Project: Ivy
          Issue Type: Bug
            Reporter: Daniel Dekany


With an example (some of the details are certainly irrelevant, but this is how 
it happened):

 <chain name="myChain">
    <url name="repo1">...</url>
    <filesystem name="repo2">...</filesystem>
 </chain>

I try to retrieve myModule by myChain with changing="true", and myModule is 
present in repo1, so it's fetched from there. Thus, it appears in the Ivy cache 
too. Later, myModule is deleted from the repo1. Then if myModule is not present 
in repo2, then resolving myModule will fail, correctly. But if the myModule is 
present in repo2, then the resolving will succeed, but it will log that it 
found myModule in repo*1* (instead of repo2), and then retrieves the artifact 
from the cache that originate from repo1 (instead of fetching it from repo2). 
This malfunction can be fixed by deleting the cache.

(In general, Ivy tends to do various messy things when modules are deleted from 
a repo, but remembered by the cache... maybe that aspect of the software should 
be rethought?)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to