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

Michael Osipov edited comment on MRESOLVER-123 at 6/30/20, 9:14 AM:
--------------------------------------------------------------------

Branch MRESOLVER-123 provides a naive solution to this problem by utilizing a 
{{ReentrantReadWriteLock}} which will basically avoid concurrent writes to the 
same local repository. This solution is *not* suited for concurrent access from 
multiple Maven instances. It is still open, if this works, to be the default 
solution or an extension to be installed separately. Far from ideal, but better 
than failing builds.


was (Author: michael-o):
Branch MRESOLVER-123 provide a naive solutin to this problem by utilizing a 
{{ReentrantReadWriteLock}} which will bascially avoid concurrent writes to the 
same local repository. This solution is *not* suited for concurrent access from 
multiple Maven instances. It is still open, if this works, to be the default 
solution or an extension to be installed separately. Far from ideal, but better 
than failing builds.

> 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
>
> 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