Lexorank Integrity Healthcheck Fails Due To "BUCKET" Column

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: 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 は除く

問題

Lexorank Integrity healthcheck fails even though the minimum and maximum markers are present and are correct in the database.

Minimum/Maximum markers are present in database and there are no duplicates.

診断

環境

  • Known to affect JIRA Software 7.1.x
  • The data might have been previously imported from JIRA Cloud, or from a newer version of JIRA Server, ie 7.2.x.

Diagnostic Steps

  • atlassian-jira.log throws the following lexorank error

    2016-10-27 20:47:16,978 http-nio-8080-exec-9 ERROR admin 1247x833x1 16ebkcn 00.000.000.000 /secure/QuickCreateIssue.jspa [c.a.g.service.lexorank.LexoRankIssueEventListener] Expected the first rank row to be of type MAXIMUM_MARKER_ROW. Found row[LexoRankRow{id=10000, fieldId=0, issueId=8, lockHash='9223372036854775807', lockTime=null, rank='null', type=MINIMUM_MARKER_ROW}]
    com.atlassian.greenhopper.manager.lexorank.LexoRankIntegrityException: Expected the first rank row to be of type MAXIMUM_MARKER_ROW. Found row[LexoRankRow{id=10000, fieldId=0, issueId=8, lockHash='9223372036854775807', lockTime=null, rank='null', type=MINIMUM_MARKER_ROW}]
    	at com.atlassian.greenhopper.manager.lexorank.LexoRankDaoImpl.getMaximumMarkerRowAndPreviousRow(LexoRankDaoImpl.java:373)
    	at com.atlassian.greenhopper.service.lexorank.LexoRankOperation.rankInitially(LexoRankOperation.java:167)
    	at com.atlassian.greenhopper.service.lexorank.LexoRankOperation.execute(LexoRankOperation.java:110)
    	at com.atlassian.greenhopper.manager.lexorank.LexoRankManagerImpl.performRankOperation(LexoRankManagerImpl.java:286)
    	at com.atlassian.greenhopper.manager.lexorank.LexoRankManagerImpl.getRankOrRankInitially(LexoRankManagerImpl.java:86)
    	at com.atlassian.greenhopper.service.lexorank.LexoRankIssueEventListener.doOnIssueEvent(LexoRankIssueEventListener.java:43)
    	at com.atlassian.greenhopper.service.issue.AbstractIssueEventListener.onIssueEvent(AbstractIssueEventListener.java:38)
    	... 2 filtered
  • Notice the values of the columns (in the error message) are not referring to the actual value shown in the database query output screenshot above: id, fieldId, issueId, lockHash, lockTime, rank and type.
  • Maximum and minimum marker values are correct in database and there are no duplicates.

原因

The problem is caused by a column named "BUCKET" that is not supposed to exist in JIRA 7.1.x.  JSW-15128 - Getting issue details... STATUS

回避策

Remove the "BUCKET" column.

データベースの変更を行う場合は必ず事前にバックアップを取得してください。可能な場合は、まずステージング サーバーで SQL コマンドの変更、挿入、更新、または削除を行うようにします。

  1. Create a database backup first
  2. Jira を停止します。
  3. Run the following SQL statement on the JIRA database:

    ALTER TABLE "AO_60DB71_LEXORANK" DROP COLUMN "BUCKET";
  4. Jira を起動します。
  5. Re-run the lexorank integrity check once more

 

 

Last modified on Mar 23, 2017

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.