Confluence fails to start and throws 'MySQL session isolation level 'REPEATABLE-READ' is no longer supported' error

Still need help?

The Atlassian Community is here for you.

Ask the community

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

Confluence does not start when connecting to MySQL. The following page appears:

Cause

MySQL is running with the wrong transaction isolation level. With 3.5, Confluence enforced a global transaction isolation level of READ-COMMITTED. As of 3.5.6, this property can be set either globally or on a session level. New installations will automatically have the correct session isolation level set, but upgraded installations will need to set it manually.

Resolution

There are several options for fixing this:

  • 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
    ...
    
  • (Confluence 3.5.6 onwards) Set the session isolation level in Confluence. For existing installations of Confluence, 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>
  • For new installations of Confluence or if the Isolation level issue comes after Upgrade , configure the JDBC string as follows to set the sessionVariable to enforce READ-COMMITTED:

    For MySQL 5.x
    ?sessionVariables=tx_isolation='READ-COMMITTED'
    
    
    e.g. jdbc:mysql://127.0.0.1:3306/confdb?sessionVariables=tx_isolation='READ-COMMITTED'
    For MySQL 8.x
    ?sessionVariables=transaction_isolation='READ-COMMITTED'
    
    
    e.g. jdbc:mysql://127.0.0.1:3306/confdb?sessionVariables=transaction_isolation='READ-COMMITTED'



DescriptionConfluence does not start when connecting to MySQL and displays the following error: Confluence fails to start and throws 'MySQL session isolation level 'REPEATABLE-READ' is no longer supported' error
ProductConfluence
PlatformServer
Last modified on Jan 5, 2021

Was this helpful?

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