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

allow customizing compression level and buffer size of Orient database checkpoint during upgrade using system properties

    XMLWordPrintable

    Details

      Description

      During upgrade, each OrientDB database is checkpointed using standard OrientDB backup API.

      Two backup options we hardcode defaults for are compressionLevel and bufferSize at 9 and 16kb respectively. These defaults are optimized for high compression to save disk space and low RAM utilization for a server system at the cost of speed.

      The API call is made here:

      https://github.com/sonatype/nexus-public/blob/1d4f1fe8ac126463ce16b2a8cf8da19bbbb3a320/components/nexus-orient/src/main/java/org/sonatype/nexus/orient/DatabaseExternalizerImpl.java#L53

      NXRM also includes an "Admin Exported databases for backup" task used to perform regular backups. The defaults in this case, up to at least version 3.16.2, for compression level and buffer size are defaulted to 9 and 1kb respectively. These defaults are optimized for high compression and low RAM utilization.

      Desire

      In most situations the defaults are not optimal - for example where backups are noticed to be CPU bound ( high compression) or taking a long time to complete and not I/O bound ( local share ) or RAM constrained ( server level mem settings ).

      Expected

      • allow configuring the default checkpoint backup values by way of system properties
      • use the same system properties already defined by the task - there is no reason to act differently by default during checkpoint backup vs task backup
      • the default values of the system properties should be aligned in every case where an OrientDB backup is performed

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              mbucher Michael Bucher
              Reporter:
              plynch Peter Lynch
              Last Updated By:
              Peter Lynch Peter Lynch
              Team:
              NXRM - Morpheus
              Votes:
              1 Vote for this issue
              Watchers:
              8 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title