Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-33297

Maven maven-metadata.xml rebuild optimizations for SQL Databases

    Details

    • Release Note:
      Yes
    • Notability:
      2
    • InvestmentLayer:
      support-escalated
    • Aha Concept:
      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

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              plynch Peter Lynch
              Last Updated By:
              Rich Seddon Rich Seddon
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title