Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Done
-
R3.4.0
-
None
Description
Use of Filter/internal queries in gadgets have problems due to Lucene search results Clause Limits
Xray adds additional JQL clauses on top of the ones coming directly from the Overall Requirement Coverage gadget/report, namely:
- issue in requirements(Status, Project, Version, Test Environment, Flat, To Date);
- issue in requirementsWithStatusByTestPlan(Status, Test Plan, Test Environment Flat, To Date);
Both JQL clauses may lead to the following exception:
com.atlassian.jira.issue.search.ClauseTooComplexSearchException
This happens due to the way the JQL search engine works. JQL function clauses run apart from the other JQL clauses, losing the context that the other clauses would provide.
Looking at an example that came from support where the client had the following filter for the Overall Requirement Coverage:
"project = 'XXXX' AND issuetype = Story AND sprint in openSprints())"
Xray adds the JQL function
issue in requirements(UNCOVERED, , , , false)
on top of the provided filter. This is necessary to build the counters for each bar in the coverage graph.
This JQL function doesn't have access to the previous context "project = 'XXXX' AND issuetype = Story AND sprint in openSprints())" returning all requirement issues from Jira which have the Requirement Status UNCOVERED, causing this specific clause to return more issues than the maximum allowed by the default limit (65000 issues).
The workaround would be to increase that limit: https://confluence.atlassian.com/jirakb/jira-fails-to-display-filtered-issues-due-to-lucene-search-limit-133693865.html?_ga=2.262345804.1713038272.1565606680-667307628.1565194010.