-
Type:
Bug
-
Resolution: Obsolete
-
Priority:
Medium
-
Component/s: Work Item - Search - Backend - JVIS
-
5
-
Severity 3 - Minor
Summary
Filter will return internal error if the JQL condition is no longer valid. Case in point, JIRA version merge breaks filters if existing filter points to a non-existing version (merged).
Null pointer error is shown because the version that the filter is referring to is no longer available.
com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.NullPointerException at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149) [atlassian-util-concurrent-2.6.3.jar:?] at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112) [atlassian-util-concurrent-2.6.3.jar:?] at com.atlassian.jira.jql.context.VersionClauseContextFactory.getAssociatedStringVersion(VersionClauseContextFactory.java:137) [jira-api-1001.0.0-SNAPSHOT.jar:?] at com.atlassian.jira.jql.context.VersionClauseContextFactory.getAssociatedVersions(VersionClauseContextFactory.java:113) [jira-api-1001.0.0-SNAPSHOT.jar:?] at com.atlassian.jira.jql.context.VersionClauseContextFactory.getSpecifiedVersion(VersionClauseContextFactory.java:94) [jira-api-1001.0.0-SNAPSHOT.jar:?] at com.atlassian.jira.jql.context.VersionClauseContextFactory.getContextFromClause(VersionClauseContextFactory.java:152) [jira-api-1001.0.0-SNAPSHOT.jar:?] at com.atlassian.jira.jql.context.AbstractProjectAttributeClauseContextFactory.getClauseContext(AbstractProjectAttributeClauseContextFactory.java:43) [jira-api-1001.0.0-SNAPSHOT.jar:?] at com.atlassian.jira.jql.context.QueryContextVisitor.visit(QueryContextVisitor.java:121) [classes/:?] at com.atlassian.jira.jql.context.QueryContextVisitor.visit(QueryContextVisitor.java:36) [classes/:?]
Expected Result
Filter should still be displayed with no results (or with the usual JQL notice that the condition is invalid).
Current Result
Filter breaks and error 500 is returned. It is not possible to even edit the JQL due to the error page.
Workaround
Cloud Support can perform this workaround if required. Search for the broken filter on database level.
select * from searchrequest where id = <FILTER_ID>;
Update the 'reqcontent' column to another simple and valid JQL query .
project = <EXISTING_PROJECT>;
Alternatively, you can also remove the filter from 'Shared Filters'.