Details
-
Improvement
-
Resolution: Fixed
-
Major
-
3.39.0, 3.38.1
-
Yes
-
2
-
non-concept
Description
Maven maven-metadata.xml files provide for Apache Maven compatible clients info about what components are available for download from a Maven repository. The accuracy, performance and proper functioning of a Maven repository is measured by the content and availability of these files.
There are 3 levels of maven-metadata:
- Artifact Version (GAV) level metadata for snapshot artifacts
- Artifact (GA) level metadata
- Group (G) level metadata for maven plugins
All three levels are described in this document:
https://maven.apache.org/ref/3.8.2/maven-repository-metadata/repository-metadata.html
In a dynamic server scenario like that inside Nexus Repository these files are constantly subject to updates.
Maven clients doing deploys are responsible for downloading and then uploading new maven-metadata.xml into hosted repos. REST, UI users and internal tasks may also be concurrently deleting or adding component versions and triggering additional metadata updates. Inbound requests may trigger proxy repositories to obtain new maven-metadata.xml from remote sites, updating what is cached locally. Group repositories have to merge the metadata from all member repositories into a coherent view of components available in those members.
As usage of SQL databases in Nexus Repository has become more prevalent in more varied deployment models this has helped identify opportunities for optimization of the maintenance of these files.
Expected
Identify and implement key optimizations to make for rebuilding maven-metadata.xml files when Nexus Repository is deployed with a SQL database. Expose these optimizations by default with the option of reverting to the legacy implementation should there be unresolvable and unforeseen reasons to do so.
Attachments
Issue Links
- relates
-
NEXUS-34715 NullPointerException on null base_version during staging move operation maven metadata rebuild after upgrading to 3.40
-
- Closed
-