Jira Service Management Upgrade Failed With Error "Failed to resolve plugin dependencies within OBR"
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
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
Problem
A pop up with the following error message appears during the Jira Service Management upgrade from the page ⚙ > Applications > Versions & licenses:
"An unexpected error occurred. Refer to the logs for more information".
Diagnosis
Environment
This failure has been witnessed during the following upgrades:
- from JSD 3.16.4 to JSD 3.16.5
- from JSD 4.0.2 to JSD 4.0.3
- from JSD 4.1.1 to JSD 4.1.2
- from JSM 4.20.7 to JSM 4.20.8
However, this KB can be a good reference to resolve the plugin dependency issue in case it happens with other versions.
Diagnostic Steps
- When checking the logs, the following appears in /var/atlassian/application-data/jira/log/atlassian-jira.log
2019-08-20 08:03:11,040 UpmAsynchronousTaskManager:thread-2 ERROR admincw 482x7462x1 pg66rv 172.16.0.117 /rest/plugins/1.0/ [c.a.u.core.install.ObrPluginInstallHandler] OBR resolver has 1 unsatisfied requirements for installing plugin.6290060804207447847.jira-servicedesk-application-3.16.5.obr
2019-08-20 08:03:11,040 UpmAsynchronousTaskManager:thread-2 ERROR admincw 482x7462x1 pg66rv 172.16.0.117 /rest/plugins/1.0/ [c.a.u.core.install.ObrPluginInstallHandler] Unsatisfied requirement: (&(symbolicname=com.atlassian.servicedesk.public-rest-api)(version>=3.16.4.REL-0012))
2019-08-20 08:03:11,054 UpmAsynchronousTaskManager:thread-2 WARN admincw 482x7462x1 pg66rv 172.16.0.117 /rest/plugins/1.0/ [c.a.u.core.install.DefaultPluginInstallationService] Plugin installation failed: Failed to resolve plugin dependencies within OBR [plugin.6290060804207447847.jira-servicedesk-application-3.16.5.obr]. Please see the logs for more detailed information.
- Another example
1 plugin failed to load during Jira startup.
'com.atlassian.servicedesk.incident-management-plugin' - 'Service Desk Incident Management Plugin' failed to load.
Cannot start plugin: com.atlassian.servicedesk.incident-management-plugin
Unable to resolve com.atlassian.servicedesk.incident-management-plugin [188](R 188.0): missing requirement [com.atlassian.servicedesk.incident-management-plugin [188](R 188.0)] osgi.wiring.package; (osgi.wiring.package=com.atlassian.servicedesk.api) Unresolved requirements: [[com.atlassian.servicedesk.incident-management-plugin [188](R 188.0)] osgi.wiring.package; (osgi.wiring.package=com.atlassian.servicedesk.api)]
It was loaded from D:\Atlassian\Application Data\JIRA\plugins\installed-plugins\incident-management-plugin-4.13.3-REL-0038.jar
Workarounds
This is the workaround for Jira Server
In order to install the new JSM version properly, the workaround is to completely remove all the jar files related to existing Service Management from the directory <Jira_HOME>/plugins/installed-plugins and install the new Service Management version, following these steps:
- Uninstall JSM application from ⚙ > Applications > Versions & licenses.
Untick "Also remove my JIRA Service Desk license and configuration" on the pop up. - Upon successful uninstallation of the application, stop Jira.
Clear your plugin cache. To do this, delete completely the 2 following folders.
Not to worry, these 2 folders will be rebuilt when Jira starts:<Jira_HOME>/plugins/.osgi-plugins/ <Jira_HOME>/plugins/.bundled-plugins/
- Go to the directory <Jira_HOME>/plugins/installed-plugins/ and remove the following files if exist:
- Any file starting with jira-servicedesk-
- Any file starting with servicedesk-
- jira-workinghours-plugin-xxx.jar
- atlassian-chaperone-xxx.jar
- atlassian-client-resource-xxx.jar
- atlassian-pocketknife-api-commons-plugin-xxx.jar
- atlassian-timed-promise-plugin-xxx.jar
- jira-email-processor-plugin-xxx.jar
- jwt-plugin-xxx.jar
- psmq-plugin-xxx.jar
- querydsl-xxx-provider-plugin-xxx.jar
- Start Jira.
- At this stage, you should have a Jira instance completely free of any Service Management jar files.
- Go to the page ⚙ > Applications > Versions & licenses.
- You will be presented with a message saying the JSM is licensed but isn't installed.
- Click on the Install button to install a compatible version of JSM.
This is the workaround for Jira Data Center
Option #1
- Uninstall JSM application from ⚙ > Applications > Versions & licenses.
Untick "Also remove my JIRA Service Desk license and configuration" on the pop-up. Clear your plugin cache in both <shared-home> and <local-home> on the first node. To do this, delete completely the 2 following folders.
Not to worry, these 2 folders will be rebuilt when Jira starts:<shared-home>/plugins/.osgi-plugins/ <shared-home>/plugins/.bundled-plugins/ <local-home>/plugins/.osgi-plugins/ <local-home>/plugins/.bundled-plugins/
- Go to the directory <shared-home>/plugins/installed-plugins/ and remove the following files if exist:
- Any file starting with jira-servicedesk-
- Any file starting with servicedesk-
- jira-workinghours-plugin-xxx.jar
- atlassian-chaperone-xxx.jar
- atlassian-client-resource-xxx.jar
- atlassian-pocketknife-api-commons-plugin-xxx.jar
- atlassian-timed-promise-plugin-xxx.jar
- jira-email-processor-plugin-xxx.jar
- jwt-plugin-xxx.jar
- psmq-plugin-xxx.jar
- querydsl-xxx-provider-plugin-xxx.jar
- Remove the same files (under step #3) from <local-home>/plugins/installed-plugins/ as well if they exist under the folder.
- Restart the first node.
- Try to re-install the JSM plugin and validate whether the JSM plugin can be re-installed properly.
- If all goes well, perform a rolling restart on further nodes.
Option #2:
It might be possible to bypass the problem without completely uninstalling JSM in order to prevent business impact.
This is only applicable when you have jars from previous versions of JSM which could be causing the problem. Jira will not remove old .jars during an update as documented on JRASERVER-72717 - Getting issue details... STATUS . It also happens on regular updates.
In order to use this option, review the contents of this directory:
ls -al <shared-home>/plugins/installed-plugins/
If you see files with names such as jira-servicedesk-
or servicedesk-
with a version that is not current, it indicates you have files from previous installations. You may engage Support to review which files to delete or delete files that reference the previous installation followed by a rolling restart and a reattempt to install JSM.
Make sure you have a backup of this directory beforehand in case files are incorrectly removed.
For example, below is are two of the old jar files left after upgrades - the current version is 4.16.2 so it would be possible to remove the files from 4.4.2 and 4.15.3:
jira-servicedesk-public-rest-api-plugin-4.4.2-REL-0006.jar
jira-servicedesk-public-rest-api-plugin-4.15.3-REL-0016.jar
jira-servicedesk-public-rest-api-plugin-4.16.2-REL-0037.jar
If the problem persists, or if the diagnosis steps do not apply, please reach out to Atlassian Support via https://support.atlassian.com/.