You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2021/05/02 11:22:25 UTC

[maven-resolver] branch MRESOLVER-153-inline-resolvetask created (now 3102df3)

This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a change to branch MRESOLVER-153-inline-resolvetask
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git.


      at 3102df3  [MRESOLVER-153] Move out from ResolveTask read/writes

This branch includes the following new commits:

     new 3102df3  [MRESOLVER-153] Move out from ResolveTask read/writes

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[maven-resolver] 01/01: [MRESOLVER-153] Move out from ResolveTask read/writes

Posted by cs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch MRESOLVER-153-inline-resolvetask
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git

commit 3102df3aa26b7033fafd9ae1c7b06728bcfeee34
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Sun May 2 13:19:54 2021 +0200

    [MRESOLVER-153] Move out from ResolveTask read/writes
    
    Move out from ResolveTask the read/write of resolver-status.properties
    file, perform those serially in caller thread context instead.
---
 .../internal/impl/DefaultMetadataResolver.java     | 32 +++++++++++-----------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
index cd217b5..8774364 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultMetadataResolver.java
@@ -323,6 +323,9 @@ public class DefaultMetadataResolver
                         session.getLocalRepositoryManager().getPathForRemoteMetadata(
                                 metadata, request.getRepository(), request.getRequestContext() ) );
 
+                metadataDownloading(
+                        session, trace, result.getRequest().getMetadata(), result.getRequest().getRepository() );
+
                 ResolveTask task =
                     new ResolveTask( session, trace, result, installFile, checks, policy.getChecksumPolicy() );
                 tasks.add( task );
@@ -356,6 +359,19 @@ public class DefaultMetadataResolver
 
                 for ( ResolveTask task : tasks )
                 {
+                    /*
+                     * NOTE: Touch after registration with local repo to ensure concurrent resolution is not
+                     * rejected with "already updated" via session data when actual update to local repo is
+                     * still pending.
+                     */
+                    for ( UpdateCheck<Metadata, MetadataTransferException> check : task.checks )
+                    {
+                        updateCheckManager.touchMetadata( task.session, check.setException( task.exception ) );
+                    }
+
+                    metadataDownloaded( session, task.trace, task.request.getMetadata(), task.request.getRepository(),
+                            task.metadataFile, task.exception );
+
                     task.result.setException( task.exception );
                 }
             }
@@ -515,7 +531,6 @@ public class DefaultMetadataResolver
     class ResolveTask
         implements Runnable
     {
-
         final RepositorySystemSession session;
 
         final RequestTrace trace;
@@ -550,8 +565,6 @@ public class DefaultMetadataResolver
             Metadata metadata = request.getMetadata();
             RemoteRepository requestRepository = request.getRepository();
 
-            metadataDownloading( session, trace, metadata, requestRepository );
-
             try
             {
                 List<RemoteRepository> repositories = new ArrayList<>();
@@ -595,19 +608,6 @@ public class DefaultMetadataResolver
             {
                 exception = new MetadataTransferException( metadata, requestRepository, e );
             }
-
-            /*
-             * NOTE: Touch after registration with local repo to ensure concurrent resolution is not rejected with
-             * "already updated" via session data when actual update to local repo is still pending.
-             */
-            for ( UpdateCheck<Metadata, MetadataTransferException> check : checks )
-            {
-                updateCheckManager.touchMetadata( session, check.setException( exception ) );
-            }
-
-            metadataDownloaded( session, trace, metadata, requestRepository, metadataFile, exception );
         }
-
     }
-
 }