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:26 UTC
[maven-resolver] 01/01: [MRESOLVER-153] Move out from ResolveTask
read/writes
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 );
}
-
}
-
}