_LexoRank List of Integrity Checks

Platform Notice: Data Center Only - This article only applies to Atlassian apps 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

Check

How to Fix Failures

Marker rows present in table for rank field.

If this fails, the minimum or maximum marker rows are missing.

This can be caused by JSWSERVER-10975 - LexoRank upgrade tasks fail to create markers in table when upgrading to Agile 6.4.x while running JIRA below 6.2 and there is a fix included in the workaround for that bug.

Marker rows correctness check.

If this fails, the minimum or maximum marker rows exist, however have the incorrect rank.

This can be fixed by updating the rank on the row returned in the check to be the expected value.

Marker rows in valid bucket check.

When a balance is in progress, the marker rows are moved to another bucket to indicate where the new rank values should be. The only time they should be is in different buckets is if a balance is in progress.

Valid states for the marker rows are the below.

Minimum is the same as maximum.

Minimum is 0, and max is 1.

Minimum is 1, and max is 2.

Minimum is 0, and max is 2.

This test fails if the marker rows are not in those buckets, and is likely caused by exceptions thrown during the rank creation or balance operation. Please check the logs for those and verify them against known problems.

Rank out of bounds check.

Please refer to our LexoRank Integrity Check fails with rank out of bounds error in Jira server KB article for the fix.

Duplicate ranks check.

This can be fixed as detailed in How To Fix Duplicate Rank Values For a Rank Field.

Issue ranks different from marker ranks check.

Use the SQL query under this table to identify records that have ranking values the same as the min/marker rows. Deleting these records will correct this problem (and also result in a loss of ranking data for those issues only).

ℹ️ This may require changing depending upon the DBMS used.

Issue rows in valid bucket check.

If a balance cannot fix this, it would need detailed analysis from Atlassian Support.

Balance status check.

Attempt a balance, and check the logs to see if there are any exceptions. It's likely the balance is failing due to an exception in the logs, or one of the other checks above may be failing.

Issue ranks different from marker ranks check.

SELECT * FROM "AO_60DB71_LEXORANK" WHERE ("RANK" LIKE '%|zzzzzz:' OR "RANK" LIKE '%|000000:') AND "TYPE" not in (0,2);
Updated on April 21, 2026

Still need help?

The Atlassian Community is here for you.