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

Upgraded to 2.249.1 httpKeepAliveTimeout not honored

    XMLWordPrintable

    Details

    • Similar Issues:
    • Released As:
      jenkins.io/changelog-stable/#v2.249.1

      Description

      Upgraded from 2.235.5 to 2.249.1 on October 1st. After upgrade the Assign Role page will not completely render. The Jenkins instance has over 600 users and 50+ teams each has 3 - 4 roles. The page will render if the VM and Jenkins has low usage. I see this is a known problem based upon the LTS change log that httpKeepAliveTimeout was implemented for 2.249.1 as 2.235.2 appears to have not fixed the issue. Or it could be a performance issue as the number of threads has not been increased in several years when usage was low.

      java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true \
      -Djava.io.tmpdir=/var/lib/jenkins/tmp -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war \
      --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon \
      --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 \
      --httpKeepAliveTimeout=60000 SHELL=/bin/bash USER=jenkins ....

      ---------------------

      org.apache.commons.jelly.JellyTagException: jar:file:/var/cache/jenkins/war/WEB-INF/lib/jenkins-core-2.249.1.jar!/lib/form/prepareDatabinding.jelly:36:89: <j:expr> java.util.concurrent.TimeoutException: Idle timeout expired: 5000/5000 ms

              at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:726)

              at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)

              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)

              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)

              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)

              at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)

              at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)

              at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)

              at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:100)

              at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)

        Attachments

          Activity

          Hide
          oleg_nenashev Oleg Nenashev added a comment -

          > After upgrade the Assign Role page will not completely render. 

          Could you please provide the plugin name and version? Is it the Role Strategy plugin? If so, did you upgrade its version during the update?

          Show
          oleg_nenashev Oleg Nenashev added a comment - > After upgrade the Assign Role page will not completely render.  Could you please provide the plugin name and version? Is it the Role Strategy plugin? If so, did you upgrade its version during the update?
          Hide
          sreilly916 Stephen Reilly added a comment -

          The plugin name would be 'Role-based Authorization Strategy' the version currently installed is: 3.1 which is the latest.

          Show
          sreilly916 Stephen Reilly added a comment - The plugin name would be ' Role-based Authorization Strategy ' the version currently installed is: 3.1 which is the latest.
          Hide
          sreilly916 Stephen Reilly added a comment -

          Workaround: To get pass the incomplete rendering of the Assigned Roles page you can do the following.

          -----------------

           The workaround is when the ‘Assigned Roles’ page is rendering in Jenkins to shift the focus to another tab in the browser. Then wait until the page has been rendered and shift the focus to that tab. You will then scroll down and see the ‘Save’ and ‘Apply’ button at the bottom of the page.

          Steps:

           Open a new Chrome (have not tested Edge) instance.
          o Create two tabs
          https://jenkins..... Your Jenkins url
           Can be either blank or a favorite website.
           Go to the Jenkins tab.
           Then open Manage Jenkins -> Manage and Assign Roles
           Then click on ‘Assign Roles’
          o When page starts to render quickly click on the other tab (this will shift the focus)
           Wait and watch the spinning tab for Jenkins until the spin stops.
           Then click on the Jenkins tab.
           Scrolls down to the bottom of the page and you will see all individuals assigned to team roles along with the ‘Save’ and ‘Apply’ buttons to make changes.

          Now you can also create a new tab buy pressing ALT+T …

          Show
          sreilly916 Stephen Reilly added a comment - Workaround: To get pass the incomplete rendering of the Assigned Roles page you can do the following. -----------------  The workaround is when the ‘Assigned Roles’ page is rendering in Jenkins to shift the focus to another tab in the browser. Then wait until the page has been rendered and shift the focus to that tab. You will then scroll down and see the ‘Save’ and ‘Apply’ button at the bottom of the page. Steps:  Open a new Chrome (have not tested Edge) instance. o Create two tabs  https://jenkins.....  Your Jenkins url  Can be either blank or a favorite website.  Go to the Jenkins tab.  Then open Manage Jenkins -> Manage and Assign Roles  Then click on ‘Assign Roles’ o When page starts to render quickly click on the other tab (this will shift the focus)  Wait and watch the spinning tab for Jenkins until the spin stops.  Then click on the Jenkins tab.  Scrolls down to the bottom of the page and you will see all individuals assigned to team roles along with the ‘Save’ and ‘Apply’ buttons to make changes. Now you can also create a new tab buy pressing ALT+T …
          Hide
          sreilly916 Stephen Reilly added a comment -

          Changed 'Priority' to minor as there is now a documented workaround.

          Show
          sreilly916 Stephen Reilly added a comment - Changed 'Priority' to minor as there is now a documented workaround.

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            sreilly916 Stephen Reilly
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated: