Update Issues with Multiple Node Jira Instances (Service Proxy Destroyed)
We, along with other Atlassian plugin vendors, have been made aware of issues with plugins updates in multi-node environments. This is especially true when plugins have dependencies on other plugins.
The scenarios users experience are disabled functionality with OSLC Connect for Jira. Users will experience login issues between applications (either to or from OSLC Connect for Jira) that render the plugin inoperable.
When reviewing the logs, we observe “Initialization issues” or “Service Proxy Destroyed” messages associated with the plugin.
We observe this not only with our tools, but others report this as well. https://confluence.atlassian.com/jirakb/jira-re-indexing-fails-with-service-proxy-has-been-destroyed-error-1055002539.html You will see common issues and resolutions (which we will provide below).
Through careful collaboration with customers and internal testing, we have identified that the leading cause is the enablement and disablement of dependent plugins. Our prime dependency is Configuration Manager for Jira. It provides an occasional feature to enable backup and recovery of Jira project data. We have observed that disabling/uninstalling CMJ can impact the OSLC Connect for Jira plugin. On recent review and diagnosis, we also identified that UPM (Update Manager) updates can also have similar effects because it is enabling and disabling plugins during the update. This UPM trigger for the issue with the CMJ dependency was a new observation.
The net result for our application is a disabled core functionality. However, manifestation is inconsistent in different deployments as it concerns the plugin cache management across nodes. When the situation occurs, the service proxy is destroyed, resulting in unusable access to the active objects (database proxy). This means data is safe and consistent, but our application can no longer access or update the database. The resolution is a restart (typically a rolling restart of the nodes) of the application after a clearing of the cache (https://confluence.atlassian.com/jirakb/how-to-clear-jira-s-plugin-cache-1157468195.html ).
We have identified known issues with Atlassian's plugin management across nodes. We are addressing this with the following.
We are formalizing our documentation of the known issue (this page) with resolutions (see below)
In our 3.5.x release, we improved the messaging and detection of service proxy destruction. In many cases, users will receive direct messages to notify their administrator of this issue.
In our 3.6.0 release, we are changing the product bundling to decouple the CMJ dependency from the core application. Our target and expectation is that this will reduce/eliminate the situations where the plugin manager disables the core application.
Issue identification and Resolution
If users observe login issues and it is verified that the Friends and Consumers are correctly configured, the admin should review the Jira application logs. If a Service Proxy Destroyed message related to the Sodius application is found in the application logs, please review the following steps.
The resolution to this issue is for the cache to clear and for the application to be restarted. Administrators can do the following (in order of effort and disruption).
Uninstall - Reinstall the application. This does not lose data and can occasionally clear the cache and reset the application.
Upgrade to a later version of the application. An upgrade will often trigger the cache to reset across nodes if you are not current on the application.
Perform a cache clear and a rolling restart of all nodes. This is the known resolution to the issue, but it is time-consuming for the admin to perform. No version upgrade to the application is required. https://confluence.atlassian.com/jirakb/how-to-clear-jira-s-plugin-cache-1157468195.html