apache / apache/maven

[MNG-5896] Download dependency POMs in parallel

Open
#7,539 27 comments 0 reactions 0 assignees View on GitHub
enhancement priority:major
Dominant language
Java
Stars
5.3k
Forks
3.1k
Avg merge
20h 42m
Merged PRs (30d)
297

Description

**[Harald Wellmann](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=hwellmann)** opened **[MNG-5896](https://issues.apache.org/jira/browse/MNG-5896?redirect=false)** and commented

### Background

When building a project with dependencies not yet available in the local repository, I noticed that Maven 3.3.3 first downloads the dependency POMs _sequentially_ and then proceeds downloading the dependency JARs with up to 5 threads _in parallel_.

Due to this, when first building a project with a large number of dependencies, downloading a large number of small POMs may take a lot longer than downloading the much larger JARs, or even longer than building the project itself, especially when a repository manager is used which increases the download latency.

### Enhancement

Download POMs of (transitive) dependencies in parallel to significantly speed up initial builds of large projects.

---

**Affects:** 3.3.3

**Issue Links:**
- [MRESOLVER-7](https://issues.apache.org/jira/browse/MRESOLVER-7) Download dependency POMs in parallel in BF collector
(_**"is blocked by"**_)
- [MNG-6110](https://issues.apache.org/jira/browse/MNG-6110) Upgrade Aether to Maven Resolver
(_**"is blocked by"**_)
- [MNG-7677](https://issues.apache.org/jira/browse/MNG-7677) Maven 3.9.0 is ~10% slower than 3.8.7 in large multi-module builds

- [MRESOLVER-324](https://issues.apache.org/jira/browse/MRESOLVER-324) Make the BF algorithm as the default option to speed up maven dependency resolution and downloading

- [MNG-6672](https://issues.apache.org/jira/browse/MNG-6672) Upgrade Maven Resolver to 1.4.2
(_**"requires"**_)

10 votes, 22 watchers

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.