Ivy
  1. Ivy
  2. IVY-1048

Chain resolver returns the wrong artifact after deleting from a repo

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0
    • Fix Version/s: None
    • Component/s: Core
    • Labels:
      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?)

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Daniel Dekany
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Development