You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Kurt Roy <kr...@prospricing.com> on 2008/01/06 22:10:19 UTC

Can multiple processes download artifacts and access them from one Ivy local cache without failure?

Hello,

 

We need to integrate some new software being built by Maven into our
main software being built with a homegrown, ant-based build system. 

 

We want to try pulling our Maven built artifacts into our main build
system by using the Ivy dependency manager (using Maven ant lib is
problematic in our environment, which I describe below). 

 

Our build environment:

 

Our automated build system runs all builds from one UNIX user id whose
home is on one shared drive. Every night, our build system can have up
to 4 or 5 builds running concurrently under this one user id on the same
or different machines (we are building about 20 different products every
night that share many reusable components).

 

My question is this: 

 

Can all these builds share the SAME default Ivy local cache stored in
the one UNIX user id's home directory? I assume for reads this is not a
problem. But what if two (or three) separate processes start downloading
the same artifact to the local repository at the same time? Is this
supported?

 

We originally were going to just use the Maven ant tasks to pull in our
new artifacts, but we found out that the Maven does not directly support
concurrent process accesses to the Maven local repository. The suggested
workarounds ranged from:

 

1.	using separate local repositories per product/version/build
(creates duplication of repository data and another thing to maintain)
2.	Use a local repository mirror (need to research how exactly this
will solve my problem), 
3.	Developing some sort of "locking" ant task to synchronize access
to the local repository (a new development task, needs to be done
carefully).

 

Before exploring the alternatives above, I just wanted to see if Ivy has
the same problem - no support for concurrent access to the local cahce.
If not, we may use it as the integration point between our Maven built
software and our main software.

 

Thanks in advance,

Kurt Roy | PROS | Software Architect, Software Development
phone: +1 713-335-8007 | email: kroy@prospricing.com 

Save the Date for the 14th Annual PROS Summit * April 20-23, 2008 at the
Hilton Americas Hotel in Houston, Texas * www.prospricing.com
<http://www.prospricing.com/> 

 


Re: Can multiple processes download artifacts and access them from one Ivy local cache without failure?

Posted by Gilles Scokart <gs...@gmail.com>.
This problem has been solved recently [1].  You shouldn't not have the
problem with the 2.0-beta-1 release.


[1] https://issues.apache.org/jira/browse/IVY-654

Gilles

2008/1/6, Kurt Roy <kr...@prospricing.com>:
>
> Hello,
>
>
>
> We need to integrate some new software being built by Maven into our
> main software being built with a homegrown, ant-based build system.
>
>
>
> We want to try pulling our Maven built artifacts into our main build
> system by using the Ivy dependency manager (using Maven ant lib is
> problematic in our environment, which I describe below).
>
>
>
> Our build environment:
>
>
>
> Our automated build system runs all builds from one UNIX user id whose
> home is on one shared drive. Every night, our build system can have up
> to 4 or 5 builds running concurrently under this one user id on the same
> or different machines (we are building about 20 different products every
> night that share many reusable components).
>
>
>
> My question is this:
>
>
>
> Can all these builds share the SAME default Ivy local cache stored in
> the one UNIX user id's home directory? I assume for reads this is not a
> problem. But what if two (or three) separate processes start downloading
> the same artifact to the local repository at the same time? Is this
> supported?
>
>
>
> We originally were going to just use the Maven ant tasks to pull in our
> new artifacts, but we found out that the Maven does not directly support
> concurrent process accesses to the Maven local repository. The suggested
> workarounds ranged from:
>
>
>
> 1.      using separate local repositories per product/version/build
> (creates duplication of repository data and another thing to maintain)
> 2.      Use a local repository mirror (need to research how exactly this
> will solve my problem),
> 3.      Developing some sort of "locking" ant task to synchronize access
> to the local repository (a new development task, needs to be done
> carefully).
>
>
>
> Before exploring the alternatives above, I just wanted to see if Ivy has
> the same problem - no support for concurrent access to the local cahce.
> If not, we may use it as the integration point between our Maven built
> software and our main software.
>
>
>
> Thanks in advance,
>
> Kurt Roy | PROS | Software Architect, Software Development
> phone: +1 713-335-8007 | email: kroy@prospricing.com
>
> Save the Date for the 14th Annual PROS Summit * April 20-23, 2008 at the
> Hilton Americas Hotel in Houston, Texas * www.prospricing.com
> <http://www.prospricing.com/>
>
>
>
>


-- 
Gilles Scokart