Jira无法删除“问题”报错LexoRankIntegrityException

Jira无法删除“问题”,报错:LexoRankIntegrityException

在Jira 8.5的测试过程中,发现用户创建的“问题”无法删除并报错。经排查定位到是LexoRank域ID的问题。在管理|系统|高级|LexoRank 管理里面可以看到LexoRank相关信息(管理界面左侧导航栏最后一行)。

环境介绍

# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
# mysql --version
mysql  Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using  EditLine wrapper
# Jira 8.5.1

报错摘要

查看日志./jira/data/log/atlassian-jira.log,根据web界面删除操作报错的“日志查询编号”(errorId)可获取完整报错信息。

http-nio-8080-exec-9 ERROR [c.a.j.web.servlet.InternalServerErrorServlet] {errorId=9b93cb4b-ccb7-4e96-9834-c60cae5b6b84, interpretedMsg=, cause=com.atlassian.greenhopper.manager.lexorank.LexoRankIntegrityException: Expected exactly 2 rows; the maximum marker row and the lowest ranked row for rank field[id=10105], stacktrace=com.atlassian.greenhopper.manager.lexorank.LexoRankIntegrityException: Expected exactly 2 rows; the maximum marker row and the lowest ranked row for rank field[id=10105]

原因分析

根本原因还是在安装数据库的时候,数据库参数设置错误(后期已修复),导致在创建LexoRank时信息不完整而引发的。从报错信息这可以看到“id=10105”,数据库中仅仅有这个id存在,而没有其他对应的等级信息。

select id from customfield where customfieldtypekey = 'com.pyxis.greenhopper.jira:gh-lexo-rank';

select * from "AO_60DB71_LEXORANK" where ("ISSUE_ID" = -9223372036854775808 and "RANK" LIKE '%|000000:' and "TYPE" = 0) or ("ISSUE_ID" = 9223372036854775807 and "RANK" like '%|zzzzzz:' and "TYPE" = 2);

比较第一个和第二个SQL的查询结果,就会发现信息不对称。需要修复缺失的信息。

提醒:根据情况去掉SQL内的双引号!

问题处理

  1. 操作之前备份Jira和数据库;

  2. 停止Jira;

  3. 查询出LexoRank的“field ID”;

    select id from customfield where customfieldtypekey = 'com.pyxis.greenhopper.jira:gh-lexo-rank';
    
  4. 对查出来的ID执行以下操作;

    INSERT INTO "AO_60DB71_LEXORANK" ("ID", "FIELD_ID", "ISSUE_ID", "RANK", "TYPE") VALUES (DEFAULT, <FIELD_ID>, -9223372036854775808, '0|000000:', 0);
    INSERT INTO "AO_60DB71_LEXORANK" ("ID", "FIELD_ID", "ISSUE_ID", "RANK", "TYPE") VALUES (DEFAULT, <FIELD_ID>, 9223372036854775807, '0|zzzzzz:', 2);
    

    提醒:根据情况去掉SQL内的双引号!

  5. 启动Jira。

参考链接

  1. LexoRank upgrade tasks fail to create markers in table when upgrading to Agile 6.4.x while running JIRA below 6.2
  2. Managing LexoRank

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

Gnix博客

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值