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

Optional Extensions should be reloaded when dependencies are dynamically loaded

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: core
    • Labels:
      None
    • Similar Issues:

      Description

      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.

        Attachments

          Issue Links

            Activity

            Hide
            danielbeck Daniel Beck added a comment -

            Was this resolved in JENKINS-19976?

            Show
            danielbeck Daniel Beck added a comment - Was this resolved in JENKINS-19976 ?
            Hide
            teilo James Nord added a comment -

            Daniel Beck 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.

            Show
            teilo James Nord added a comment - Daniel Beck 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.
            Hide
            teilo 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.

            Show
            teilo 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.
            Hide
            teilo James Nord added a comment -

            I think this can now be resolved as a duplicate of JENKINS-50336

            Show
            teilo James Nord added a comment - I think this can now be resolved as a duplicate of JENKINS-50336
            Hide
            jglick Jesse Glick added a comment -

            Or JENKINS-50336? See JENKINS-19508 for general advice.

            Show
            jglick Jesse Glick added a comment - Or JENKINS-50336 ? See JENKINS-19508 for general advice.

              People

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

                Dates

                Created:
                Updated: