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

DirectoryBrowserSupport.buildChildPaths does quadratic number of calls to check whether entries are directories

      From a thread dump when the workspace browser was timing out trying to show me a directory:

      "Handling GET /job/.../ws/test/target/surefire-reports/ : ... / waiting for hudson.remoting.Channel@..." Id=... Group=main TIMED_WAITING on hudson.remoting.UserRequest@...
      	at java.lang.Object.wait(Native Method)
      	-  waiting on hudson.remoting.UserRequest@280e3332
      	at hudson.remoting.Request.call(Request.java:146)
      	at hudson.remoting.Channel.call(Channel.java:714)
      	at hudson.FilePath.act(FilePath.java:905)
      	at hudson.FilePath.act(FilePath.java:889)
      	at hudson.FilePath.isDirectory(FilePath.java:1389)
      	at jenkins.util.VirtualFile$2.isDirectory(VirtualFile.java:266)
      	at hudson.model.DirectoryBrowserSupport$FileComparator.dirRank(DirectoryBrowserSupport.java:443)
      	at hudson.model.DirectoryBrowserSupport$FileComparator.compare(DirectoryBrowserSupport.java:435)
      	at hudson.model.DirectoryBrowserSupport$FileComparator.compare(DirectoryBrowserSupport.java:426)
      	at java.util.TimSort.mergeHi(Unknown Source)
      	at java.util.TimSort.mergeAt(Unknown Source)
      	at java.util.TimSort.mergeCollapse(Unknown Source)
      	at java.util.TimSort.sort(Unknown Source)
      	at java.util.TimSort.sort(Unknown Source)
      	at java.util.Arrays.sort(Unknown Source)
      	at hudson.model.DirectoryBrowserSupport.buildChildPaths(DirectoryBrowserSupport.java:460)
      	at hudson.model.DirectoryBrowserSupport.serveFile(DirectoryBrowserSupport.java:254)
      	at hudson.model.DirectoryBrowserSupport.generateResponse(DirectoryBrowserSupport.java:123)
      

          [JENKINS-21780] DirectoryBrowserSupport.buildChildPaths does quadratic number of calls to check whether entries are directories

          Jesse Glick created issue -
          Jesse Glick made changes -
          Assignee New: Jesse Glick [ jglick ]
          Jesse Glick made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Jesse Glick made changes -
          Labels Original: performance New: lts-candidate performance
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
          Oliver Gondža made changes -
          Labels Original: lts-candidate performance New: 1.532.3-fixed performance
          Jesse Glick made changes -
          Resolution Original: Fixed [ 1 ]
          Status Original: Resolved [ 5 ] New: Reopened [ 4 ]
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Reopened [ 4 ] New: Resolved [ 5 ]
          Daniel Beck made changes -
          Labels Original: 1.532.3-fixed performance New: lts-candidate performance
          Daniel Beck made changes -
          Resolution Original: Fixed [ 1 ]
          Status Original: Resolved [ 5 ] New: Reopened [ 4 ]
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Reopened [ 4 ] New: Resolved [ 5 ]

            jglick Jesse Glick
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: