Plugin enable timeout after upgrading Crowd
Platform Notice: Data Center Only - This article only applies to Atlassian products 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
Summary
After upgrading Crowd, the application can't start anymore. Instead, we can see a lot of timeouts when trying to enable system plugins.
Environment
Crowd Server or Data Center upgraded to version 3.7.0 or greater
Diagnosis
During the startup, the following message is shown in the application logs:
atlassian-crowd.log
1
2021-05-28 11:41:17,386 localhost-startStop-1 ERROR [atlassian.plugin.manager.PluginEnabler] Unable to start the following plugins due to timeout while waiting for plugin to enable: com.atlassian.labs.crowd.directory-pruning-plugin,com.atlassian.oauth.consumer.sal,com.atlassian.oauth.serviceprovider.sal,com.atlassian.oauth.serviceprovider,com.atlassian.activeobjects.activeobjects-plugin,com.atlassian.applinks.applinks-plugin,com.atlassian.soy.soy-template-plugin,com.atlassian.oauth.consumer,crowd-rest-plugin,com.atlassian.applinks.applinks-oauth-plugin,com.atlassian.analytics.analytics-client,com.atlassian.upm.atlassian-universal-plugin-manager-plugin,com.atlassian.troubleshooting.plugin-crowd,com.atlassian.crowd.crowd-analytics-plugin,com.atlassian.crowd.crowd-monitoring-plugin,com.atlassian.crowd.crowd-sync-feedback,crowd-rest-application-management
Increasing the plugin timeout to 300 seconds, using the system property -Datlassian.plugins.enable.wait=300 doesn't help - we can see a countdown starting at 300 seconds down to 1 second, but the plugins never start.
The table cwd_property, in Crowd DB, holds the following entries that shouldn't exist:
property_key | property_name | property_value |
---|---|---|
plugin.crowd.state.store. | com.atlassian.templaterenderer.api | false |
plugin.crowd.state.store. | com.atlassian.templaterenderer.atlassian-template-renderer-velocity1.6-plugin | false |
plugin.crowd.state.store. | com.atlassian.plugins.rest.atlassian-rest-module | false |
plugin.crowd.state.store. | com.atlassian.sal.crowd | false |
plugin.crowd.state.store. | crowd-saml-plugin | false |
Cause
The plugin entries in cwd_property are preventing Crowd from starting correctly. It is yet unknown how those entries were created but it is possible leftover data from an old version or from a third-party app. Further details will be added to the KB when found.
Solution
We need to remove those entries to make Crowd DB consistent again.
Shutdown Crowd
⚠️ Perform a DB backup
Run the following SQL commands in Crowd DB:
1 2 3 4 5 6 7
DELETE FROM public.cwd_property WHERE property_key LIKE 'plugin.crowd.state.store.' AND property_name LIKE 'crowd-saml-plugin'; DELETE FROM public.cwd_property WHERE property_key LIKE 'plugin.crowd.state.store.' AND property_name LIKE 'plugin.crowd.state.store.'; DELETE FROM public.cwd_property WHERE property_key LIKE 'plugin.crowd.state.store.' AND property_name LIKE 'com.atlassian.templaterenderer.atlassian-template-renderer-velocity1.6-plugin'; DELETE FROM public.cwd_property WHERE property_key LIKE 'plugin.crowd.state.store.' AND property_name LIKE 'crowd-rest-admin'; DELETE FROM public.cwd_property WHERE property_key LIKE 'plugin.crowd.state.store.' AND property_name LIKE 'com.atlassian.sal.crowd'; DELETE FROM public.cwd_property WHERE property_key LIKE 'plugin.crowd.state.store.' AND property_name LIKE 'com.atlassian.templaterenderer.api'; DELETE FROM public.cwd_property WHERE property_key LIKE 'plugin.crowd.state.store.' AND property_name LIKE 'com.atlassian.plugins.rest.atlassian-rest-module';
Start Crowd
Was this helpful?