The Jenkins update center retrieval code, as well as the code which obtains tool catalogues, is written to piggyback on the Internet connectivity of the user's browser, rather than directly downloading files. This has the advantage that if the master is not configured for a proxy (or cannot reach the Internet at all) you can still check for updates. But it has a number of disadvantages:

      1. The user's bandwidth is taken up, instead of the server's.

      2. The security mechanisms needed for this to work—signing to allow non-administrators to do the download, JSONP or postDocument to bypass same-origin restrictions, and some JavaScript AJAX glue—are complex and fragile, so when they break, updates are broken and it is tricky to debug the problem: you need to examine not only the server's logs and the update center's content, but the browser error console too.

      3. The download is interrupted by a new page load, so if a user clicks rapidly on several links, Jenkins goes into an exponential backoff procedure which can result in the download being significantly delayed with no clear explanation.

      4. The actual downloads of plugins or tools are still done directly, so you cannot really run with the master disconnected from the Internet—you can at best see that there are updates which could be installed.

      It would be better to default to making a direct connection, and fall back to the current browser tricks only if that fails.

          [JENKINS-19081] Download update center from master by default

          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: updateCenter New: robustness updateCenter
          Jesse Glick made changes -
          Jesse Glick made changes -
          Link New: This issue depends on JENKINS-21984 [ JENKINS-21984 ]
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: In Progress [ 3 ] New: Resolved [ 5 ]
          Daniel Beck made changes -
          Labels Original: robustness updateCenter New: lts-candidate robustness updateCenter
          Oliver Gondža made changes -
          Labels Original: lts-candidate robustness updateCenter New: 1.554.1-fixed robustness updateCenter
          Jesse Glick made changes -
          Link New: This issue is related to JENKINS-22227 [ JENKINS-22227 ]
          Daniel Beck made changes -
          Link New: This issue is duplicated by JENKINS-9320 [ JENKINS-9320 ]

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

              Created:
              Updated:
              Resolved: