Filters return internal error 500 if the JQL condition is no longer valid

XMLWordPrintable

    • 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'.

            Assignee:
            Cezary Zawadka
            Reporter:
            Vincent Chin (Inactive)
            Votes:
            2 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: