You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Kevin Burton <bu...@spinn3r.com> on 2015/08/17 21:28:12 UTC

Bug with Maven 3.2.5 and threaded builds and dependencies? Corrupt maven cache.

Hey guys.

I think there’s a bug with Maven 3.2.5 and threaded builds and dependencies.

We have a LOT of dependencies.  I think 400 or so external .jars (not sure
if we’re an unusual case or not).

Anyway. If we have an empty cache, and do a threaded build, what happens is
there’s a race around downloading a dependency.

Thread A will try to download foo.jar and so will thread B…

There’s no mutual exclusion locking present

This means we see the following issue:

- zero byte .jars with no data (not sure how that ones possible but we see
it).
- file not found when trying to copy the .part to the final .jar because
another thread has done so already.

I haven’t tested 3.3.3 because we’re in a CI environment and I can’t
upgrade maven easily.

This will be hard to write a test for I think.

-- 

Founder/CEO Spinn3r.com
Location: *San Francisco, CA*
blog: http://burtonator.wordpress.com
… or check out my Google+ profile
<https://plus.google.com/102718274791889610666/posts>

Re: Bug with Maven 3.2.5 and threaded builds and dependencies? Corrupt maven cache.

Posted by Ron Wheeler <rw...@artifact-software.com>.
We have a lot of third-party jars (less than 100 probably) and did a bit 
of work to make this work better for building, for managing version 
conflicts and making life easier for developers.

http://blog.artifact-software.com/tech/?p=121

Ron

On 17/08/2015 3:28 PM, Kevin Burton wrote:
> Hey guys.
>
> I think there’s a bug with Maven 3.2.5 and threaded builds and dependencies.
>
> We have a LOT of dependencies.  I think 400 or so external .jars (not sure
> if we’re an unusual case or not).
>
> Anyway. If we have an empty cache, and do a threaded build, what happens is
> there’s a race around downloading a dependency.
>
> Thread A will try to download foo.jar and so will thread B…
>
> There’s no mutual exclusion locking present
>
> This means we see the following issue:
>
> - zero byte .jars with no data (not sure how that ones possible but we see
> it).
> - file not found when trying to copy the .part to the final .jar because
> another thread has done so already.
>
> I haven’t tested 3.3.3 because we’re in a CI environment and I can’t
> upgrade maven easily.
>
> This will be hard to write a test for I think.
>


-- 
Ron Wheeler
President
Artifact Software Inc
email: rwheeler@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org