Jira server throws LexoRankIntegrityException error during reindexing or reranking operations
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
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.
*Fisheye および Crucible は除く
Ranking operations or re-index might fail and the following stack trace appears in the atlassian-jira.log
or atlassian-greenhopper.log
:
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)
原因
The AO_60DB71_LEXORANKBALANCER has information relating to a non-existent field on AO_60DB71_LEXORANK table.
ソリューション
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.
- Jira をシャットダウンします。
Run the following query on the database:
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!
Run the following statement, replacing the field id accordingly:
DELETE FROM "AO_60DB71_LEXORANKBALANCER" WHERE "FIELD_ID" = <field_from_error_message>;
- Restart JIRA and run a full re-index