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

Too many tasks scheduled if an upgrade requires rebuilding the browse_node table

    XMLWordPrintable

    Details

    • Notability:
      2

      Description

      If an upgrade requires rebuilding the browse_node table then Nexus Repo will schedule on task per repository to automatically run after restart.  When there are a large number of repositories (e.g., around 1000) these tasks get into a livelock situation, where none of them can run.  This results in a failed upgrade.

      The only workaround is to add this line to nexus.properties:

      nexus.browse.component.tree.automaticRebuild=false
      

      And to also run database queries while Nexus is not running to remove the browse tree rebuild tasks that were automatically added after upgrade.

      Needless to say, this is not a good experience for our users.

      Expected: The number of scheduled tasks set to run concurrently should be limited somehow.  Either serialize them, or use a thread pool to schedule them to run in batches.

       

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              dbradicich Damian Bradicich
              Reporter:
              rseddon Rich Seddon
              Last Updated By:
              Wes Wannemacher
              Team:
              NXRM - Neo
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title