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

Optional Extensions should be reloaded when dependencies are dynamically loaded

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • core
    • None

      If a plugin A has an optional dependency on plugin B, and has marked an @Extension (optional=true), Jenkins will properly fail to load that extension. However, if plugin B is then later installed, the optional dependencies from plugin A are not re-evaluated.

      Jenkins should keep track of optional extensions which failed to load, and retry them when new plugins are installed. Perhaps it could only due so if the plugin for that extension expressed an optional dependency on the newly installed plugin, but even that doesn't seem necessary?

      This is really just a usability issue (since you can restart to fix it), but may prove frustrating for novice users.

          [JENKINS-14392] Optional Extensions should be reloaded when dependencies are dynamically loaded

          Ryan Campbell created issue -

          Daniel Beck added a comment -

          Was this resolved in JENKINS-19976?

          Daniel Beck added a comment - Was this resolved in JENKINS-19976 ?
          Jesse Glick made changes -
          Link New: This issue duplicates JENKINS-19976 [ JENKINS-19976 ]
          Jesse Glick made changes -
          Resolution New: Duplicate [ 3 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 145028 ] New: JNJira + In-Review [ 191314 ]

          James Nord added a comment -

          danielbeck no... I was sure there was a newer issue (about 1 year old) with exactly this, but failed optioanl extension points have never been attempted to be reloaded.

          James Nord added a comment - danielbeck no... I was sure there was a newer issue (about 1 year old) with exactly this, but failed optioanl extension points have never been attempted to be reloaded.
          James Nord made changes -
          Resolution Original: Duplicate [ 3 ]
          Status Original: Resolved [ 5 ] New: Reopened [ 4 ]
          James Nord made changes -
          Link Original: This issue duplicates JENKINS-19976 [ JENKINS-19976 ]

          James Nord added a comment -

          Not just a UX issue as this can have bad consequences.

          For example when a plugin is performing some form of "veto" about an action (if some properety is set on a job from the optioanl plugin) can lead to the veto which is implemented in the @extension(optional=true) not being called as it is not active, causing the action which should now be blocked from being able to happen which can have some bad consequences in the Jenkins instance.

          James Nord added a comment - Not just a UX issue as this can have bad consequences. For example when a plugin is performing some form of "veto" about an action (if some properety is set on a job from the optioanl plugin) can lead to the veto which is implemented in the @extension(optional=true) not being called as it is not active, causing the action which should now be blocked from being able to happen which can have some bad consequences in the Jenkins instance.
          Daniel Beck made changes -
          Status Original: Reopened [ 4 ] New: Open [ 1 ]

            Unassigned Unassigned
            recampbell Ryan Campbell
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: