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

Maven maven-metadata.xml rebuild optimizations for SQL Databases


    • Yes
    • 2
    • non-concept


      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:

      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.


      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.


        Issue Links



              Unassigned Unassigned
              plynch Peter Lynch
              Rich Seddon Rich Seddon
              0 Vote for this issue
              5 Start watching this issue