apache / apache/maven-resolver

[MRESOLVER-589] ArtifactDescriptorResult should be immutable

Open
#1,264 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
152
Forks
160
Avg merge
1d 4h
Merged PRs (30d)
49

Description

**[Tamas Cservenak](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=cstamas)** opened **[MRESOLVER-589](https://issues.apache.org/jira/browse/MRESOLVER-589?redirect=false)** and commented

And most probably heavily cached, as on collection of large projects, this leads to insane memory requirements. MRESOLVER-587 and MRESOLVER-586 adds some relief, but still the biggest offender is depMgt that on projects usually get inherited from parent (and can have non trivial size) and is copied over and over again...

---

**Issue Links:**
- [MNG-8242](https://issues.apache.org/jira/browse/MNG-8242) Cache flattened parents during model building
(_**"is fixed by"**_)
- [MRESOLVER-586](https://issues.apache.org/jira/browse/MRESOLVER-586) In typical setups, DefaultArtifact copies the same maps over and over again

- [MRESOLVER-587](https://issues.apache.org/jira/browse/MRESOLVER-587) Memory consumption improvements

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating ArtifactDescriptorResult in the Java sources and tracing its constructors, fields, callers, and related tests. Review the linked MRESOLVER-586 and MRESOLVER-587 issues for surrounding memory concerns; done means the result is immutable without breaking existing resolver behavior, with the relevant test suite passing.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.