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

Download update center from master by default

    XMLWordPrintable

Details

    Description

      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.

      Attachments

        Issue Links

          Activity

            jglick Jesse Glick created issue -
            jglick Jesse Glick made changes -
            Field Original Value New Value
            Assignee Jesse Glick [ jglick ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Labels updateCenter robustness updateCenter
            jglick Jesse Glick made changes -
            Link This issue depends on JENKINS-21984 [ JENKINS-21984 ]
            scm_issue_link SCM/JIRA link daemon made changes -
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Resolved [ 5 ]
            danielbeck Daniel Beck made changes -
            Labels robustness updateCenter lts-candidate robustness updateCenter
            olivergondza Oliver Gondža made changes -
            Labels lts-candidate robustness updateCenter 1.554.1-fixed robustness updateCenter
            jglick Jesse Glick made changes -
            Link This issue is related to JENKINS-22227 [ JENKINS-22227 ]
            danielbeck Daniel Beck made changes -
            Link This issue is duplicated by JENKINS-9320 [ JENKINS-9320 ]
            danielbeck Daniel Beck made changes -
            Link This issue is duplicated by JENKINS-10061 [ JENKINS-10061 ]
            jglick Jesse Glick made changes -
            Link This issue depends on JENKINS-15105 [ JENKINS-15105 ]
            jglick Jesse Glick made changes -
            Link This issue is blocking SECURITY-163 [ SECURITY-163 ]
            ikedam ikedam made changes -
            Link This issue is related to JENKINS-32376 [ JENKINS-32376 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 150528 ] JNJira + In-Review [ 193566 ]

            People

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

              Dates

                Created:
                Updated:
                Resolved: