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

improve snapshot remover tasks performance by reducing potential i/o

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.11.3
    • Fix Version/s: 2.11.4
    • Component/s: Scheduled Tasks
    • Labels:
    • Story Points:
      0.5
    • Sprint:
      Sprint 45

      Description

      1. When processing GAV that contains multiple timestamped pom files, and the
      remove if released option is true, then make sure we only check for release once, not once per
      every timestamp snapshot. This reduces the I/O for the Remove Snapshots From Repository task when the remove if released option is checked ( true ).

      2. Do not include signature or hash files when checking for the oldest accessed snapshot last requested timestamp. Given each artifact can have upwords of 5 total of these (.asc , .asc.sha1, .asc.md5, .sha1 and .md5 ) and typically always two ( .sha1, .md5 ), this can reduce I/O reading attributes files by a minimum of 66%. This is always a benefit to the Remove Unused Snapshots from Repository task because this task always tries to calculate the days since any snapshot was last requested. It does this by reading attributes files off disk. Avoiding the above files means attributes for these files does not need to be read off disk.

      3. When determining the most recent last requested time for the snapshots in the same build number, avoid iterating over the entire GAV collection of files for each artifact to check. By caching the last requested timestamps in the main processing loop, and determining the most recent last requested date on the fly, we can avoid iterating over the entire collection again for each file, when needing to find the most recent last requested for similar snapshots. This has significant performance benefits for the Remove Unused Snapshots from Repository task.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title