Performance updates to Jira epic picker

Still need help?

The Atlassian Community is here for you.

Ask the community

Starting from versions 8.22.0 and backported on versions 8.20.7 and 8.13.20, Jira has a new mechanism to retrieve epics for epic picker (its AJAX endpoint) and epic autocomplete suggestions. See the following ticket for more details: JSWSERVER-21026 - Getting issue details... STATUS .

Problem

Before this update, Jira was trying to fetch all epics available to a user from the index and then filter them by using a special Java class.

This mechanism allowed for very precise grouping and filtering of epics. However, each read of the Lucene document increased the time of loading the results, so the time of the response grew linearly and was quite significant beyond 100,000 - 200,000 epics (>5s).

Solution

To solve the problem, we've decided to use JQL queries to retrieve matching epics for both epic picker sections: prioritized and other epics. Epic picker will now retrieve suggestions using one or two simple JQL queries, which ensures a predictable response time.

We tested the solution with 500,000 epics and the response time was below 2s.

The resulting JQLs perform a search with the following search criteria:

  • issue type = Epic

  • in/not in (a list of projects) OPTIONAL

  • summary or issue key ~ searchTerm OPTIONAL

  • epic done status (not an issue status) is true or false OPTIONAL

Epics are always ordered by issue key in descending order. Potentially, this limits epics visibility and exposes epic picker to any issues found in JQL, for example: JRASERVER-30978 - Getting issue details... STATUS

The filterEpicByGivenProjects parameter in REST API is now effectively unused since it can be controlled by the projectKey parameter.

Reverting the change

If you want to revert to the old mechanism, you need to enable the following dark feature: com.atlassian.jira.agile.darkfeature.legacy.epic.picker. For details, see How to manage dark features in Jira.

We don't recommend this approach as it might cause performance degradation to over 100,000 epics.

Last modified on Aug 2, 2022

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.