maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Osipov (Jira)" <j...@apache.org>
Subject [jira] [Comment Edited] (MRESOLVER-123) Provide a global locking sync context
Date Mon, 06 Jul 2020 21:26:00 GMT

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

Michael Osipov edited comment on MRESOLVER-123 at 7/6/20, 9:25 PM:
-------------------------------------------------------------------

[~rreich], can you run the following on your local repo after the project has built:
{noformat}
osipovmi@deblndw011x:~/.m2/repository
$ find . -name maven-metadata-\*.xml -exec xml sel -t  -n -c '//groupId/text()' {} \; | sort
-u >  group-ids
osipovmi@deblndw011x:~/.m2/repository
$ wc -l group-ids
     106 group-ids
{noformat}?

I am considering to create a fine locking after 1.5.0 on group ids.


was (Author: michael-o):
[~rreich], can you run the following on your local repo after the project has built:
{noformat}
osipovmi@deblndw011x:~/.m2/repository
$ find . -name maven-metadata-\*.xml -exec xml sel -t  -n -c '//groupId/text()' {} \; | sort
-u >  group-ids
osipovmi@deblndw011x:~/.m2/repository
$ wc -l group-ids
     106 group-ids
{noformat}?

I am consider to create a fine locking after 1.5.0 on group ids

> Provide a global locking sync context
> -------------------------------------
>
>                 Key: MRESOLVER-123
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-123
>             Project: Maven Resolver
>          Issue Type: New Feature
>          Components: resolver
>    Affects Versions: 1.4.2
>            Reporter: Michael Osipov
>            Assignee: Michael Osipov
>            Priority: Critical
>         Attachments: checksum-error-debug.log, mvn-debug-1.4.3-123.txt, mvn-debug-1.4.3-123.txt.gz
>
>
> 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 improvement will provide solely a global locking sync context which will work in
*single* JVM. It is a non-goal to make it work with mulitple JVMs. A downside of this solution
is that is coarse, possible degregation of performance for the sake of stability.



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

Mime
View raw message