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.