[Commented] (MRESOLVER-123) Concurrency issues

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[Commented] (MRESOLVER-123) Concurrency issues

Piotr Zygielo (Jira)

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

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

I already can resolve the issue with the checksum failure. The exception constructor says:
{noformat}
    /**
     * Creates a new exception with the specified expected and actual checksum. The resulting exception is
     * {@link #isRetryWorthy() retry-worthy}.
     *
     * @param expected The expected checksum as declared by the hosting repository, may be {@code null}.
     * @param actual The actual checksum as computed from the local bytes, may be {@code null}.
     */
    public ChecksumFailureException( String expected, String actual )
{noformat}

So the response from Nexus is the canonical value and our locale is the actual one. No fix necessary here.

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