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

Cache permission id to avoid allocating of new strings

    XMLWordPrintable

    Details

    • Similar Issues:

      Attachments

        Activity

        Hide
        oleg_nenashev Oleg Nenashev added a comment -

        Alexander A before marking is as LTS candidate, the changelog on Jenkins.io needs to be updated

        Show
        oleg_nenashev Oleg Nenashev added a comment - Alexander A before marking is as LTS candidate, the changelog on Jenkins.io needs to be updated
        Hide
        oleg_nenashev Oleg Nenashev added a comment -

        BTW, The change has been released in Jenkins 2.92

        Show
        oleg_nenashev Oleg Nenashev added a comment - BTW, The change has been released in Jenkins 2.92
        Hide
        scm_issue_link SCM/JIRA link daemon added a comment -

        Code changed in jenkins
        User: Alexander Akbashev
        Path:
        core/src/main/java/hudson/security/Permission.java
        http://jenkins-ci.org/commit/jenkins/8fa79061bb0beaf93be4e05620463fd363ac5b30
        Log:
        [FIX JENKINS-48349] Cache permission id to avoid allocating of new strings

        Every request that comes from Jelly is checked against Permissions.
        As result it leads to a call of `getId` method that produces the new string.
        Usually it's not a problem, but in case of stop-the-world pause user requests are accumulated.
        So, once pause is finished, we forcibly allocated tons of strings for
        every request. That leads to new stop-the-world pause. (And this cycle
        can repeat multiple times)

        (cherry picked from commit b2c40cb9e0db72c978b3a50be0d4c467cb33eb20)

        Show
        scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Alexander Akbashev Path: core/src/main/java/hudson/security/Permission.java http://jenkins-ci.org/commit/jenkins/8fa79061bb0beaf93be4e05620463fd363ac5b30 Log: [FIX JENKINS-48349] Cache permission id to avoid allocating of new strings Every request that comes from Jelly is checked against Permissions. As result it leads to a call of `getId` method that produces the new string. Usually it's not a problem, but in case of stop-the-world pause user requests are accumulated. So, once pause is finished, we forcibly allocated tons of strings for every request. That leads to new stop-the-world pause. (And this cycle can repeat multiple times) (cherry picked from commit b2c40cb9e0db72c978b3a50be0d4c467cb33eb20)

          People

          • Assignee:
            oleg_nenashev Oleg Nenashev
            Reporter:
            jimilian Alexander A
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: