Uploaded image for project: 'Ivy'
  1. Ivy
  2. IVY-1048

Chain resolver returns the wrong artifact after deleting from a repo

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.0
    • None
    • Core
    • None

    Description

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

      Attachments

        Activity

          People

            Unassigned Unassigned
            ddekany@freemail.hu Daniel Dekany
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: