[ 
https://issues.apache.org/jira/browse/MRESOLVER-123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17151366#comment-17151366
 ] 

Michael Osipov commented on MRESOLVER-123:
------------------------------------------

[~emueller-coremedia],

1. At least the staging rules for Central running on Nexus Pro did reject SHA-2 
hashes before 2.14.18. It might happen in your installation as well. Therefore, 
you need to check. I am just being precautious.
2. There is no release date yet since some issues are open. If you want to 
speed that up, pick the open issues and contribute PRs.

[~rreich], I have expected this and explain why this is the case:

* The lock is global (coarse) therefore every one has to wait. It is a bit of a 
bottleneck.
* The longer the download needs the longer the lock is held by the current 
thread.

For these two reasons I expect a rise in build times. I do expect that people 
use a repo manager minimizing the download time of dependencies. Our Nexus 
instance is 2 min physicaclly away. So you should be yours. Please try to 
provide build times from work with a repo manager. I think this is pretty safe 
to be cherry  picked to 1.4.1.

At the end you have to decide you want a stable, but a slower build or a fast 
and failing build. I would always prefer stable.

The next step is to have distinct locks per group id which would reduce 
contention, but won't happen in this release because there are other challenges.

> Concurrency issues
> ------------------
>
>                 Key: MRESOLVER-123
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-123
>             Project: Maven Resolver
>          Issue Type: Bug
>          Components: resolver
>    Affects Versions: 1.4.2
>            Reporter: Michael Osipov
>            Priority: Critical
>         Attachments: checksum-error-debug.log, successful-sha1-log.txt
>
>
> This is an umbrella ticket for a long standing issue with Maven Resolver: Our 
> concurrency support is mediocre in a way that if two or more threads try to 
> download the same file and fail to queue those write actions nicely. The 
> problem is that The {{SyncContext}} and the its factory provided by Maven 
> Resolver does not employ any locking at all. As layed out in detail in 
> MRESOLVER-114 we need striped read write locks on artifacts and its metadata. 
> This issue shall track progress on it. Even Takari Concurrent Repository 
> extension does not help because it is only intended to synchronize concurrent 
> access by multple JVMs and not threads.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to