Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-24763

Long running OldDataMonitor.doDiscard() results in thread starvation

      A very large set of OldData can take a long time to discard. While this is running, most Jenkins operations which save any data are blocked.

      https://gist.github.com/recampbell/9336d3a32270e75a9333

      doDiscard is synchronized and hudson.diagnosis.OldDataMonitor#remove also wants to lock OldDataMonitor. Most threads eventually lock when saving something, at least until the doDiscard eventually completes.

          [JENKINS-24763] Long running OldDataMonitor.doDiscard() results in thread starvation

          Ryan Campbell created issue -
          Ryan Campbell made changes -
          Description Original: A very large set of OldData can take a long time to discard. While this is running, most Jenkins operations which save any data are blocked.

          https://gist.github.com/recampbell/9336d3a32270e75a9333

          doDiscard is synchronized and hudson.diagnosis.OldDataMonitor#remove also wants to lock OldDataMonitor most threads eventually lock when saving something, at least until the doDiscard eventually completes.

          New: A very large set of OldData can take a long time to discard. While this is running, most Jenkins operations which save any data are blocked.

          https://gist.github.com/recampbell/9336d3a32270e75a9333

          doDiscard is synchronized and hudson.diagnosis.OldDataMonitor#remove also wants to lock OldDataMonitor. Most threads eventually lock when saving something, at least until the doDiscard eventually completes.

          Daniel Beck made changes -
          Priority Original: Major [ 3 ] New: Minor [ 4 ]
          Ryan Campbell made changes -
          Summary Original: Long running OldDataMonitor.doDiscard() results in livelocks New: Long running OldDataMonitor.doDiscard() results in thread starvation
          Ryan Campbell made changes -
          Issue Type Original: Bug [ 1 ] New: Improvement [ 4 ]
          Jesse Glick made changes -
          Labels New: lock performance threads
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          Jesse Glick made changes -
          Link New: This issue is duplicated by JENKINS-24303 [ JENKINS-24303 ]
          Jesse Glick made changes -
          Labels Original: lock performance threads New: lock lts-candidate performance threads
          Daniel Beck made changes -
          Labels Original: lock lts-candidate performance threads New: 1.580.3-rejected lock performance threads
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 157801 ] New: JNJira + In-Review [ 195832 ]

            Unassigned Unassigned
            recampbell Ryan Campbell
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: