As described in https://confluence.atlassian.com/jirakb/troubleshooting-new-ranking-system-issues-779159221.html one can access https://<jira-base-url>/rest/greenhopper/1.0/lexorank/balance
to get balancer status. Instead I get a NullpointerException.
The base problem I try to fix is https://confluence.atlassian.com/jirakb/issue-ranking-operation-fails-jira-software-cannot-execute-the-rank-operation-at-this-time-913477224.html which in one project occurs 100% while is not so noisy in others.
Any suggestions on how to proceed from here?
(Running
<status><status-code>500</status-code><stack-trace>java.lang.NullPointerException at com.atlassian.greenhopper.service.lexorank.balance.LexoRankBalanceRankInfoService.getIssueKey(LexoRankBalanceRankInfoService.java:45) at com.atlassian.greenhopper.service.lexorank.balance.LexoRankBalanceRankInfoService.getMaxRank(LexoRankBalanceRankInfoService.java:64) at com.atlassian.greenhopper.service.lexorank.balance.LexoRankBalancer.getBalanceStatus(LexoRankBalancer.java:207) at com.atlassian.greenhopper.web.configuration.LexoRankHelper.getBalanceStatus(LexoRankHelper.java:38) at com.atlassian.greenhopper.web.configuration.LexoRankResource$1.call(LexoRankResource.java:86) at com.atlassian.greenhopper.web.configuration.LexoRankResource$1.call(LexoRankResource.java:82) at com.atlassian.greenhopper.web.util.RestCall.response(RestCall.java:42) at com.atlassian.greenhopper.web.AbstractResource.createResponse(AbstractResource.java:111) at com.atlassian.greenhopper.web.AbstractResource.responseWithoutAccessCheck(AbstractResource.java:105) at com.atlassian.greenhopper.web.configuration.LexoRankResource.balanceStatus(LexoRankResource.java:81) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:192) at com.a
This did the trick:
alter table "AO_60DB71_LEXORANK" alter column "RANK" type character varying (255) collate pg_catalog. "POSIX" ; |
check the workaround section here : https://jira.atlassian.com/browse/JSWSERVER-17685
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, this affected me, too (Jira 8.5.5).
Here are my 2ct:
I just want to share a quick helper script to find the "next" valid entry quicker (change -U Jira and -d jiradb accordingly):
for ((i=0;i<1000;i++)) ; do PGOPTIONS='--client-min-messages=warning' psql -X -q -a -1 -v ON_ERROR_STOP=1 --pset pager=off -U jira -d jiradb -c "select id from jiraissue j2 where j2.id in (select adl.\"ISSUE_ID\" from \"AO_60DB71_LEXORANK\" adl where adl.\"FIELD_ID\"=12100 and adl.\"TYPE\"=1 order by length(adl.\"RANK\") desc, adl.\"RANK\" desc limit $i);" ; done > log.txt
This iterates over the first 1000 (might not be enough for you) datasets and you can simply use less/more/vi/grep/whatever to find the first line with the text "(1 row)" in the log.txt to determine your offset.
Limiting the output in the select to just the "id" column should speed things up and make it easier for you to find "(1 row)" in your logfile:
fgrep -B5 '(1 row)' log.txt | head -5
would give you for example:
select id from jiraissue j2 where j2.id in (select adl."ISSUE_ID" from "AO_60DB71_LEXORANK" adl where adl."FIELD_ID"=12100 and adl."TYPE"=1 order by length(adl."RANK") desc, adl."RANK" desc limit 27);
id
---------
1663650
thus letting you know you can delete to top 26 "AO_60DB71_LEXORANK" entries.
Cheers,
Holger
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Jon Martin SolaasOne question are you using HTTP or HTTPS ? for your Jira instance
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.