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

Jenkins should manage better the plugin dependencies when disabling/uninstalling a plugin

    XMLWordPrintable

    Details

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

      Description

      If you disable a plugin which has a hard dependency with another plugin, Jenkins doesn't report anything or suggest you to disable/delete the dependencies. At the end, you can end up with stacktraces like:

      WARNING: Failed to scout com.cloudbees.opscenter.client.plugin.ClusterSessionClientExtensionHandler 
      java.lang.InstantiationException: java.lang.NoClassDefFoundError: hudson/plugins/openid/OpenIdExtension 
      at net.java.sezpoz.IndexItem.element(IndexItem.java:146) 
      at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:666) 
      at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:354) 
      at hudson.ExtensionList.load(ExtensionList.java:300) 
      at hudson.ExtensionList.ensureLoaded(ExtensionList.java:253) 
      at hudson.ExtensionList.iterator(ExtensionList.java:143) 
      at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:353) 
      at hudson.ExtensionList.load(ExtensionList.java:300) 
      at hudson.ExtensionList.ensureLoaded(ExtensionList.java:253) 
      at hudson.ExtensionList.size(ExtensionList.java:162) 
      at java.util.AbstractCollection.toArray(AbstractCollection.java:136) 
      at java.util.ArrayList.addAll(ArrayList.java:559) 
      at 
      

      Jenkins should not allow you to disable a plugin when there is such kind of dependency. It should instead maybe give you also the tree of dependencies so you can uninstall all of them if you want.

      A Warning can be also an option saying that it is not possible to remove/disable because there is a dependency with another plugin. I don't like too much this option because you end up with a lot of manual work.

        Attachments

          Issue Links

            Activity

            fbelzunc Félix Belzunce Arcos created issue -
            fbelzunc Félix Belzunce Arcos made changes -
            Field Original Value New Value
            Summary Jenkins should manage better the plugin dependencies when disable/uninstall a plugin Jenkins should manage better the plugin dependencies when disabling/uninstalling a plugin
            fbelzunc Félix Belzunce Arcos made changes -
            Description If you disable a plugin which has a hard dependency with another plugin, Jenkins doesn't report anything or suggest you to disable/delete the dependencies. At the end, you can end up with stacktraces like:


            {code:java}
            WARNING: Failed to scout com.cloudbees.opscenter.client.plugin.ClusterSessionClientExtensionHandler
            java.lang.InstantiationException: java.lang.NoClassDefFoundError: hudson/plugins/openid/OpenIdExtension
            at net.java.sezpoz.IndexItem.element(IndexItem.java:146)
            at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:666)
            at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:354)
            at hudson.ExtensionList.load(ExtensionList.java:300)
            at hudson.ExtensionList.ensureLoaded(ExtensionList.java:253)
            at hudson.ExtensionList.iterator(ExtensionList.java:143)
            at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:353)
            at hudson.ExtensionList.load(ExtensionList.java:300)
            at hudson.ExtensionList.ensureLoaded(ExtensionList.java:253)
            at hudson.ExtensionList.size(ExtensionList.java:162)
            at java.util.AbstractCollection.toArray(AbstractCollection.java:136)
            at java.util.ArrayList.addAll(ArrayList.java:559)
            at
            {code}

            Jenkins should not allow you to disable a plugin when there is such kind of dependency. It should instead maybe give you also the tree of dependencies so you can uninstall all of them if you want.

            A Warning can be also an option saying that it is not possible to remove/disable because there is a dependency with another plugin. I don;t like too much this option because you end up with a lot of manual work.
            If you disable a plugin which has a hard dependency with another plugin, Jenkins doesn't report anything or suggest you to disable/delete the dependencies. At the end, you can end up with stacktraces like:


            {code:java}
            WARNING: Failed to scout com.cloudbees.opscenter.client.plugin.ClusterSessionClientExtensionHandler
            java.lang.InstantiationException: java.lang.NoClassDefFoundError: hudson/plugins/openid/OpenIdExtension
            at net.java.sezpoz.IndexItem.element(IndexItem.java:146)
            at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:666)
            at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:354)
            at hudson.ExtensionList.load(ExtensionList.java:300)
            at hudson.ExtensionList.ensureLoaded(ExtensionList.java:253)
            at hudson.ExtensionList.iterator(ExtensionList.java:143)
            at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:353)
            at hudson.ExtensionList.load(ExtensionList.java:300)
            at hudson.ExtensionList.ensureLoaded(ExtensionList.java:253)
            at hudson.ExtensionList.size(ExtensionList.java:162)
            at java.util.AbstractCollection.toArray(AbstractCollection.java:136)
            at java.util.ArrayList.addAll(ArrayList.java:559)
            at
            {code}

            Jenkins should not allow you to disable a plugin when there is such kind of dependency. It should instead maybe give you also the tree of dependencies so you can uninstall all of them if you want.

            A Warning can be also an option saying that it is not possible to remove/disable because there is a dependency with another plugin. I don't like too much this option because you end up with a lot of manual work.
            danielbeck Daniel Beck made changes -
            Resolution Duplicate [ 3 ]
            Status Open [ 1 ] Resolved [ 5 ]
            jglick Jesse Glick made changes -
            Link This issue duplicates JENKINS-21485 [ JENKINS-21485 ]
            jglick Jesse Glick made changes -
            Link This issue duplicates JENKINS-21486 [ JENKINS-21486 ]
            jglick Jesse Glick made changes -
            Link This issue duplicates JENKINS-23150 [ JENKINS-23150 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 165758 ] JNJira + In-Review [ 197808 ]

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              fbelzunc Félix Belzunce Arcos
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: