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