ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Haberman (JIRA)" <>
Subject [jira] [Commented] (IVY-1430) dynamic revisions are not cached per resolver
Date Sun, 18 Aug 2013 22:15:47 GMT


Stephen Haberman commented on IVY-1430:

I've attached 1430.diff to this issue, which fixes it.

Instead of having a single "", which means only 1 resolver
can cache it's resolved revision, we have 1 properties file per resolver name.

This took my local "ant retrieve" time from ~90 seconds to ~4 seconds.

Basically, previously for certain modules (that existed in multiple resolvers) Ivy wasn't
using the dynamic cache at all. Now it is, and so is much faster.

> dynamic revisions are not cached per resolver
> ---------------------------------------------
>                 Key: IVY-1430
>                 URL:
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: trunk
>            Reporter: Stephen Haberman
>         Attachments: 1430.diff
> If using a chain resolver, it is likely that dynamic revisions found in multiple child
resolvers with thrash each other and negate the affect of using the cache.
> Currently, if a chain resolver has two children, r1 and r2, and is asked to resolve "latest.integration",
the logic is:
> 1. Ask r1 if it can resolve latest.integration. It looks in the ivycache, finds nothing,
so hits the network, and finds 1.1.
> 2. Ivy creates a file to cache that latestion=integration=1.1
and that it came from r1.
> 3. Ask r2 if it can resolve latest.integration. It looks in the ivycache, finds the latest.integration=1.1,
but the resolver for that is r1, so it must hit the network, and finds 1.0. It is not newer,
so 1.1 stays in the cache.
> ...
> Basically, r2 is not given the chance to write "my latest.integration = 1.0" anywhere
in the cache, so it must hit the network any time it's asked for latest.integration.
> Instead, both r1 and r2 should be able to cache what latest.integration means to them.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message