Unable to Uninstall a Plugin or Install an Old Version of a Plugin
Platform Notice: Data Center Only - This article only applies to Atlassian apps on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
Uninstalling a plugin, from the plugin repository, will fail with a window pop-up such as "Could not delete plugin [KB:Plugin Name]." The following appears in the atlassian-confluence.log:
com.atlassian.plugin.PluginException: Could not delete plugin [Attachment Checkout Plugin].
at com.atlassian.plugin.loaders.ClassLoadingPluginLoader.removePlugin(ClassLoadingPluginLoader.java:171)
at com.atlassian.confluence.plugin.DatabaseClassLoadingPluginLoader.removePlugin(DatabaseClassLoadingPluginLoader.java:114)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
When installing the outdated plugin, the log file shows:
2008-04-22 14:32:48,259 ERROR [http-9090-Processor22] [atlassian.plugin.parsers.XmlDescriptorParser] createModuleDescriptor There was a problem loading the descriptor for module 'web-item' in plugin 'Attachment Checkout Plugin'.
java.lang.NoSuchMethodError: com.atlassian.confluence.pages.DefaultAttachmentManager.getThumbnailManager()Lcom/atlassian/confluence/pages/thumbnail/ThumbnailManager;
-- url: /confluence271/admin/uploadplugin.action | userName: admin | action: uploadplugin
com.atlassian.plugin.PluginParseException: java.lang.NoSuchMethodError: com.atlassian.confluence.pages.DefaultAttachmentManager.getThumbnailManager()Lcom/atlassian/confluence/pages/thumbnail/ThumbnailManager;
at com.atlassian.plugin.web.descriptors.AbstractWebFragmentModuleDescriptor.makeCondition(AbstractWebFragmentModuleDescriptor.java:174)
at com.atlassian.plugin.web.descriptors.AbstractWebFragmentModuleDescriptor.makeConditions(AbstractWebFragmentModuleDescriptor.java:139)
at com.atlassian.plugin.web.descriptors.AbstractWebFragmentModuleDescriptor.makeConditions(AbstractWebFragmentModuleDescriptor.java:95)
at com.atlassian.plugin.web.descriptors.AbstractWebFragmentModuleDescriptor.init(AbstractWebFragmentModuleDescriptor.java:79)
at com.atlassian.plugin.web.descriptors.DefaultWebItemModuleDescriptor.init(DefaultWebItemModuleDescriptor.java:32)
at com.atlassian.plugin.web.descriptors.DefaultAbstractWebFragmentModuleDescriptor.init(DefaultAbstractWebFragmentModuleDescriptor.java:138)
at com.atlassian.plugin.parsers.XmlDescriptorParser.createModuleDescriptor(XmlDescriptorParser.java:147)
at com.atlassian.plugin.parsers.XmlDescriptorParser.configurePlugin(XmlDescriptorParser.java:85)
Cause
The plugin is outdated or incompatible with the version of Confluence.
Resolution
Warning: Backup your database before proceeding.
Before running any SQL in this article, create a full backup of your Jira database. This is a database-level operation with no undo other than restoring from backup. Only proceed if you're comfortable running SQL directly against the Jira database, and test on a staging or cloned environment first, wherever possible.
Find the Plugin's pluginkey from Administration >> Plugins >> (Select the Plugin). The pluginKey is displayed in the URL.
Run the following SQL statement in your database:
select plugindataid, pluginkey,filename,lastmoddate from plugindata;After you have found the plugindataid for the offending plugin, run the following:
delete from plugindata where plugindataid='XXXXXX';where XXXXXX is the
plugindataidvalue.Restart Confluence after performing the database update.
In addition, you might need to go to
<confluence-home>/plugin-cacheand remove the offending plugin. You can clear the entire plugin cache directory safely; it will rebuild.
Still having problems?
Was this helpful?