I do run Ivy on Hudson and use one Cache per "Executor". So builds in
parallel have different caches but sequential builds may share
a cache. Hudson provides an Environment Variabel with the Executor Number
that I use within the ivysettings.xml to set different Cachedirs. A similair
setup may be possible in other environments.
A second concurency issue is that  the buildnumber and deploy tasks are
seperated. There should be an atomic "deployWithNext Buildnumber" or you
will run in problems when the same project is build in parallel.

Best regards,

Martin2009/3/19 Sam Berlin <[email protected]>

> Yes, I have noticed significant problems when using ivy in a parallel
> build environment (essentially, any build-server), and we've only had
> Ivy in use on the buildserver for ~12 hours.  The only solution I can
> think of is to make the cache local per build, which is pretty far
> from ideal.
>
> Any suggestions for how to make Ivy more robust against concurrent builds?
>
> Sam
>
> 2009/3/19 Uldis Karlovs-Karlovskis <[email protected]>:
> > And this is not all. Previous case was when artifact is already in cache.
> If
> > Ivy needs to download new artifact then parallel execution gives
> something
> > like this:
> >
> > ---------------------------------------------------------------------
> >        | | modules || artifacts |
> >        | conf | number| search|dwnlded|evicted|| number|dwnlded|
> >
> > ---------------------------------------------------------------------
> >        | default | 4 | 0 | 0 | 0 || 6 | 0 |
> >
> > ---------------------------------------------------------------------
> >
> >  :: problems summary ::
> >  :::: WARNINGS
> >        problem while downloading module descriptor:
> >
> http://server/download?name=somemodule&version=1.3.1.16&file=somemodule&file
> > Type=xml: impossible to move part file to definitive one:
> > /root/.ivy2/cache/ctco/somemodule/ivy-1.3.1.16.xml.original.part ->
> > /root/.ivy2/cache/ctco/somemodule/ivy-1.3.1.16.xml.original (21ms)
> >
> >         module not found: ctco#somemodule;1.3.1.16
> >
> >        ==== bones-repository: tried
> >
> >
> >
> http://server/download?name=somemodule&version=1.3.1.16&file=somemodule&file
> > Type=xml
> >
> >         ::::::::::::::::::::::::::::::::::::::::::::::
> >
> >         :: UNRESOLVED DEPENDENCIES ::
> >
> >         ::::::::::::::::::::::::::::::::::::::::::::::
> >
> >         :: ctco#somemodule;1.3.1.16: not found
> >
> >         ::::::::::::::::::::::::::::::::::::::::::::::
> >
> >
> >
> >  :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
> >  command exit code: 1
> >
> > Regards,
> > Uldis, C. T. Co
> > [email protected]
> >
> >
> > -----Original Message-----
> > From: Uldis Karlovs-Karlovskis [mailto:[email protected]]
> > Sent: ceturtdiena, 2009. gada 19. martā 17:37
> > To: [email protected]
> > Subject: Running Ivy in parallel builds
> >
> > Hello!
> >
> >
> >
> > Have You tested running Ivy in more than one build at the time?
> >
> > I see there are few files in cache which got updated every time I run
> Ivy.
> > When my build system is running more than one process at the time
> sometimes
> > I got this exception:
> >
> > :: retrieving :: lv.ctco#scm-bootstrap
> >
> >  confs: [default]
> >
> >  Caught: java.lang.RuntimeException: problem during retrieve of
> > <namespace>#<module>: java.text.ParseException: failed to parse report:
> > /root/.ivy2/cache/lv.ctco-scm-bootstrap-default.xml: Premature end of
> file.
> >
> >  command exit code: 1
> >
> >
> >
> >
> >
> > Uldis Karlovs - Karlovskis
> >
> > Lead SCM Engineer
> >
> > System Configuration Management
> >
> > C.T.Co
> >
> > Mobile: +371 29 345 210
> >
> >
> >
> >
> >
>

Reply via email to