UPM Cannot be Upgraded and Hangs Confluence

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

Confluence hangs when trying to upgrade the UPM. The following appears in the atlassian-confluence.log, indicating that UPM is being upgraded, but error or warnings are observed:

2012-05-02 11:01:25,162 INFO [pool-5-thread-1] [atlassian.plugin.manager.DefaultPluginManager] disableDependentPlugins Found dependent enabled plugins for uninstalled plugin 'com.atlassian.upm.atlassian-universal-plugin-manager-plugin': [].  Disabling...
2012-05-02 11:01:25,177 INFO [pool-5-thread-1] [atlassian.plugin.manager.DefaultPluginManager] updatePlugin Updating plugin 'com.atlassian.upm.atlassian-universal-plugin-manager-plugin' to 'com.atlassian.upm.atlassian-universal-plugin-manager-plugin'
2012-05-02 11:01:25,177 INFO [pool-5-thread-1] [atlassian.plugin.manager.DefaultPluginManager] notifyPluginDisabled Disabling com.atlassian.upm.atlassian-universal-plugin-manager-plugin

Cause

Your database is not configured to be READ-COMMITTED. To confirm this, run the following SQL query:

SELECT sd.is_read_committed_snapshot_on
FROM sys.databases AS sd
WHERE sd.[name] = '<database name>';

This should return 1. If it returns anything else, proceed to the resolution.

The above query was written for MS SQL, it may require tweaking for other databases.

Resolution

For MS SQL

  1. Run the following SQL query:

    ALTER DATABASE <database name>
    SET READ_COMMITTED_SNAPSHOT ON
    WITH ROLLBACK IMMEDIATE;
  2. Restart Confluence.
  3. Re-attempt the UPM upgrade.

There is an improvement request to address this behavior, which is being tracked here: CONF-26296 - Getting issue details... STATUS

For MySQL

  1. Stop Confluence
  2. (On 3.5.6 onward) In the top level of your Confluence home directory, find the confluence.cfg.xml file and locate the <properties> section. Add the following parameter:

    <properties>
    ...
        <property name="hibernate.connection.isolation">2</property>
    ...
    <properties>

    As an example of where it should be located in the file:

    	<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.isolation">2</property>
        <property name="hibernate.connection.password">XXXXXX</property>
  3. Once this is complete, please start Confluence and attempt the update again

 

This can also be set at a Global Level for MySQL

Please Note: This is only recommended if you do not have any other applications using this MySQL database. This will update the transaction isolation level for the entire database.

 

  • Set the global transaction isolation level to READ-COMMITTED. You can do this by configuring your MySQL server's settings by editing MySQL's my.cnf file (often named my.ini on Windows operating systems). Locate the [mysqld] section in the file and add/modify the following parameter:

    [mysqld]
    ...
    transaction-isolation=READ-COMMITTED
    ...

 

 

 

 

 

 

 

Last modified on Mar 30, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.