Database Isolation health check fails in Jira server

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

This health check verifies the isolation level for SQL Server databases is as expected. If it is not using the expected isolation level a critical error will be reported as it can cause JIRA to not operate as expected. This includes encountering critical problems with the application such that it will fail to work in a stable manner. For example, it can deadlock as per Jira server functionality fails when using MS-SQL and READ_COMMITTED_SNAPSHOT is not set, experience performance problems and various operations can fail in JIRA.

Diagnosis


The database isolation level of READ_COMMITTED_SNAPSHOT is ON which is supported by JIRA.

 The isolation is supported! All is well.

The database isolation level of READ_COMMITTED_SNAPSHOT is OFF which is not supported by JIRA.

 The JIRA instance is using an unsupported isolation level and must be fixed.

Resolution 

 This can be resolved by setting the isolation level as expected, as per the below steps:

  1. Stop JIRA, as if it is still running it will block any change of the isolation level.
  2. Execute the below query, replacing JIRA-DATABASE with the database name to update the isolation level.

    ALTER DATABASE [JIRA-DATABASE] SET READ_COMMITTED_SNAPSHOT ON;

    Always back up your data before performing any modifications to the database. If possible, test any alter, insert, update, or delete SQL commands on a staging server first.

  3. Verify the below SQL returns 1, which is the expected isolation level.

    SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name = '<JIRA-DATABASE>';
  4. Start JIRA, the isolation health check will now pass.


Description

This health check verifies the isolation level for SQL Server databases is as expected. If it is not using the expected isolation level a critical error will be reported as it can cause JIRA to not operate as expected. This includes encountering critical problems with the application such that it will fail to work in a stable manner. For example, it can deadlock as per Jira server functionality fails when using MS-SQL and READ_COMMITTED_SNAPSHOT is not set, experience performance problems and various operations can fail in JIRA.

ProductJira
PlatformServer
Last modified on Aug 18, 2021

Was this helpful?

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