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

Jenkins requires restart when installing plugins with TransientViewActionFactories

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved (View Workflow)
    • Minor
    • Resolution: Fixed
    • core
    • None
    • jenkins-core:2.140
    • 2.144

    Description

      TransientViewActionFactories are only ever called once per view, see here

       

      This means that if you install a plugin that affects the view (via a TransientViewActionFactory) and getActions() has already been called for that view, your implementation of TransientViewActionFactory will not be called and your action will not happen (eg, populating a sidepanel entry etc).

       

      We should either implement an ExtensionListener to dirty the cached transientActions when a new plugin is loaded, or do away with the caching altogether

      Attachments

        Activity

          agentgonzo Steve Arch created issue -
          agentgonzo Steve Arch made changes -
          Field Original Value New Value
          Summary Jenkins requires restart when installing plugins with TransientActionFactories Jenkins requires restart when installing plugins with TransientViewActionFactories
          agentgonzo Steve Arch made changes -
          Description TransientViewActionFactories are only ever called once per view, see [here|[https://github.com/jenkinsci/jenkins/blob/jenkins-2.140/core/src/main/java/hudson/model/View.java#L555-L557].]

           

          This means that if you install a plugin that affects the view (via a TransientViewActionFactory) and getActions() has already been called for that view, your implementation of TransientViewActionFactory will not be called and your action will not happen (eg, populating a sidepanel entry etc).

           

          We should either implement an ExtensionListener to dirty the cached transientActions when a new plugin is loaded, or do away with the caching altogether
          TransientViewActionFactories are only ever called once per view, see [here|https://github.com/jenkinsci/jenkins/blob/992100ac4223b3d5eab11e8dccae5e55c2a18484/core/src/main/java/hudson/model/View.java#L555-L557]

           

          This means that if you install a plugin that affects the view (via a TransientViewActionFactory) and getActions() has already been called for that view, your implementation of TransientViewActionFactory will not be called and your action will not happen (eg, populating a sidepanel entry etc).

           

          We should either implement an ExtensionListener to dirty the cached transientActions when a new plugin is loaded, or do away with the caching altogether
          agentgonzo Steve Arch made changes -
          Assignee Steve Arch [ agentgonzo ]
          agentgonzo Steve Arch made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          agentgonzo Steve Arch made changes -
          Status In Progress [ 3 ] In Review [ 10005 ]
          agentgonzo Steve Arch made changes -
          Released As 2.144
          Resolution Fixed [ 1 ]
          Status In Review [ 10005 ] Resolved [ 5 ]

          People

            agentgonzo Steve Arch
            agentgonzo Steve Arch
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: