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

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


The following commit(s) were added to refs/heads/master by this push:
     new b03f5c035 GH-1737: Revert partially parallel upload change (#1765)
b03f5c035 is described below

commit b03f5c035624b9eac3c95e7baf8046cc6586f927
Author: Tamas Cservenak <[email protected]>
AuthorDate: Wed Jan 28 19:15:50 2026 +0100

    GH-1737: Revert partially parallel upload change (#1765)
    
    Revert partially (connector only) commit:
    09c3fa9f1880058a2d29ca9ebcd3d2c23da0af4c
    
    Fixes #1737
---
 .../aether/connector/basic/BasicRepositoryConnector.java | 16 ++++++++++++----
 .../basic/BasicRepositoryConnectorConfigurationKeys.java |  3 ++-
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git 
a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
 
b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
index 7f76efa7a..fd2d51e93 100644
--- 
a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
+++ 
b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
@@ -217,6 +217,8 @@ final class BasicRepositoryConnector implements 
RepositoryConnector {
         RunnableErrorForwarder errorForwarder = new RunnableErrorForwarder();
         List<ChecksumAlgorithmFactory> checksumAlgorithmFactories = 
layout.getChecksumAlgorithmFactories();
 
+        boolean first = true;
+
         for (MetadataDownload transfer : safeMetadataDownloads) {
             URI location = layout.getLocation(transfer.getMetadata(), false);
 
@@ -238,8 +240,9 @@ final class BasicRepositoryConnector implements 
RepositoryConnector {
                     checksumLocations,
                     null,
                     listener);
-            if (executor == null) {
+            if (executor == null || first) {
                 task.run();
+                first = false;
             } else {
                 executor.submit(errorForwarder.wrap(task));
             }
@@ -282,8 +285,9 @@ final class BasicRepositoryConnector implements 
RepositoryConnector {
                         providedChecksums,
                         listener);
             }
-            if (executor == null) {
+            if (executor == null || first) {
                 task.run();
+                first = false;
             } else {
                 executor.submit(errorForwarder.wrap(task));
             }
@@ -305,6 +309,8 @@ final class BasicRepositoryConnector implements 
RepositoryConnector {
                 getExecutor(false, parallelPut ? safeArtifactUploads.size() + 
safeMetadataUploads.size() : 1);
         RunnableErrorForwarder errorForwarder = new RunnableErrorForwarder();
 
+        boolean first = true;
+
         for (ArtifactUpload transfer : safeArtifactUploads) {
             URI location = layout.getLocation(transfer.getArtifact(), true);
 
@@ -316,8 +322,9 @@ final class BasicRepositoryConnector implements 
RepositoryConnector {
                     layout.getChecksumLocations(transfer.getArtifact(), true, 
location);
 
             Runnable task = new PutTaskRunner(location, transfer.getPath(), 
checksumLocations, listener);
-            if (executor == null) {
+            if (executor == null || first) {
                 task.run();
+                first = false;
             } else {
                 executor.submit(errorForwarder.wrap(task));
             }
@@ -337,8 +344,9 @@ final class BasicRepositoryConnector implements 
RepositoryConnector {
                         layout.getChecksumLocations(transfer.getMetadata(), 
true, location);
 
                 Runnable task = new PutTaskRunner(location, 
transfer.getPath(), checksumLocations, listener);
-                if (executor == null) {
+                if (executor == null || first) {
                     task.run();
+                    first = false;
                 } else {
                     executor.submit(errorForwarder.wrap(task));
                 }
diff --git 
a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnectorConfigurationKeys.java
 
b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnectorConfigurationKeys.java
index 0dec5ad63..d9445635c 100644
--- 
a/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnectorConfigurationKeys.java
+++ 
b/maven-resolver-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnectorConfigurationKeys.java
@@ -90,7 +90,8 @@ public final class BasicRepositoryConnectorConfigurationKeys {
     /**
      * Enables or disables parallel PUT processing (parallel deploys) on basic 
connector globally or per remote
      * repository. When disabled, connector behaves exactly as in Maven 3.8.x 
did: GETs are parallel while PUTs
-     * are sequential.
+     * are sequential. When enabled, connector will issue first PUT 
individually and only once completed the
+     * rest of PUTs in parallel.
      *
      * @since 1.9.5
      * @configurationSource {@link 
RepositorySystemSession#getConfigProperties()}

Reply via email to