Jira server throws LexoRankIntegrityException error during reindexing or reranking operations

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

Ranking operations or re-index might fail and the following stack trace appears in the atlassian-jira.log or atlassian-greenhopper.log:

1 2 3 4 5 6 7 2015-08-28 13:38:51,406 lexorank-executor-thread-0 ERROR ServiceRunner [service.lexorank.balance.LexoRankBalancingService] Expected to find minimum marker row for rank field[id=11960], but found none. com.atlassian.greenhopper.manager.lexorank.LexoRankIntegrityException: Expected to find minimum marker row for rank field[id=11960], but found none. at com.atlassian.greenhopper.manager.lexorank.LexoRankDaoImpl.getMinimumMarkerRow(LexoRankDaoImpl.java:372) at com.atlassian.greenhopper.service.lexorank.balance.LexoRankBalancer.balanceFieldId(LexoRankBalancer.java:199) at com.atlassian.greenhopper.service.lexorank.balance.LexoRankBalancer.balanceFieldIds(LexoRankBalancer.java:96) at com.atlassian.greenhopper.service.lexorank.balance.LexoRankScheduledBalanceHandler.run(LexoRankScheduledBalanceHandler.java:60) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

Cause

The AO_60DB71_LEXORANKBALANCER has information relating to a non-existent field on AO_60DB71_LEXORANK table.

Resolution

To resolve this problem, perform the steps listed below:

⚠️We strongly recommend to keep a database backup at this point. The next steps will require delete operations and, in case of failures, a rollback might be needed.

  1. Shutdown JIRA

  2. Run the following query on the database:

    1 SELECT * FROM "AO_60DB71_LEXORANKBALANCER" WHERE "FIELD_ID" = <field_from_error_message>;

    ⚠️ If the query above returns no rows where the "FIELD_ID" is the same mentioned on the error message, do not proceed to next steps and inform Atlassian Support!

  3. Run the following statement, replacing the field id accordingly:

    1 DELETE FROM "AO_60DB71_LEXORANKBALANCER" WHERE "FIELD_ID" = <field_from_error_message>;
  4. Restart JIRA and run a full re-index

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.