How to manually remove malfunctioning add-ons
Purpose
To disable or delete malfunctioning add-ons manually when the Universal Plugin Manager isn't working. Confluence goes to some lengths to prevent itself from becoming unusable due to a problematic add-on. However, sometimes an add-on will manage to do this anyway. This page describes what to do if an add-on cannot be disabled or deleted using the Universal Plugin Manager (in the Confluence administration console).
Solution
Add-on Locations
- Determine where your add-on file is located. The usual locations are:
- The
PLUGINDATA
table on the database - The <confluence-home>/bundled-plugins folder
- The <confluence-home>/plugin-cache folder
- The <confluence-home>/plugins-osgi-cache folder
- The <confluence-home>/plugins-temp folder
- The <confluence-install>/confluence/WEB-INF/lib folder (deprecated)
- The
Check these locations when troubleshooting add-on loading issues.
Check the How do I display the Confluence System Classpath? FAQ and the Knowledge Base Article on plugin loading problems for more information on troubleshooting add-on loading issues.
Always back up your data before performing any modifications to the database. If possible, test any alter, insert, update, or delete SQL commands on a staging server first.
Always back up your data before performing any modifications to the database. If possible, test any alter, insert, update, or delete SQL commands on a staging server first.
Temporarily disabling add-ons on start-up (Confluence 6.1 and later)
This is a Confluence Server feature. These parameters do not work with Confluence Data Center.
If you are troubleshooting a problem with an add-on, or if Confluence won't start after an upgrade or add-on update, you can temporarily disable add-ons at startup. This will allow you to start Confluence, and you may then be able to use UPM to remove the problematic add-on.
To temporarily disable all non-system add-ons:
$ ./start-confluence.sh --disable-all-addons
> start-confluence.bat /disablealladdons
If Confluence is unable to manually start within Windows, please see if CONFSERVER-60001 - Getting issue details... STATUS applies. If so, try the prescribed workaround.
To temporarily disable specific add-ons, specify the add-on key (for example com.atlassian.test.plugin
). You can disable multiple add-ons using a colon-separated list.
$ ./start-confluence.sh --disable-addons=com.atlassian.test.plugin
> start-confluence.bat /disableaddon=com.atlassian.test.plugin
These parameters are applied at startup only; they do not persist after a restart. You should still use UPM (or one of the strategies below if UPM is unavailable) if you want to permanently disable or remove an add-on.
Deleting an Add-on from the Database
To remove an add-on from Confluence when Confluence is not running:
- Connect to the Confluence database.
Run the following SQL statement in your database:
select PLUGINDATAID, PLUGINKEY, FILENAME, LASTMODDATE from PLUGINDATA;
After you have found the
plugindataid
value for the offending add-on, run the following:delete from PLUGINDATA where PLUGINDATAID= XXXXXX;
where XXXXXX is the
plugindataid
value.- Restart Confluence.
If the add-on is subsequently re-added to Confluence, its previous configurations will still be present.
Disabling an Add-on from the Database
To disable the add-on in the database:
Run the following query on your Confluence database:
select BANDANAVALUE from BANDANA where BANDANAKEY = 'plugin.manager.state.Map';
This will return a value like:
<map>
<entry>
<string>com.atlassian.confluence.ext.usage</string>
<boolean>true</boolean>
</entry>
</map>
To disable the plugin, change the boolean value to false:
<map>
<entry>
<string>com.atlassian.confluence.ext.usage</string>
<boolean>false</boolean>
</entry>
</map>
Clear the Confluence caches or restart Confluence for this change to be picked up.
Deleting a Bundled Add-on
Bundled add-ons can be administered from the Manage Add-ons page in the application's Administration Console. You can upload or disable them there.
The bundle add ons are located at the directory <confluence-install>/confluence/WEB-INF/atlassian-bundled-plugins
. At Confluence startup, they are copied into the $CONFLUENCE_HOME/bundled-plugins directory, from whence they are loaded. To remove a bundled add-on (you normally shouldn't have to do this), remove the add-on from the atlassian-bundled-plugins directory and the bundled-plugins directory, otherwise Confluence will just put it back in place on the next startup. In versions later than 2.6, you'll have to recreate the .jar file (if the jar file is from the lib folder) or recreate the zip folder (if its in the classes folder). Bundled add-ons can be upgraded or disabled.
If you need to remove a bundled add-on, check to see if you have duplicates in the <confluence-home>/bundled-plugins
or <confluence-home>/plugin-cache
directory.
Usually, the problem is that an old add-on is getting loaded along with the properly bundled one.
See also
- CONFSERVER-52749 - Getting issue details... STATUS