-
Bug
-
Resolution: Fixed
-
High
-
7.6.15, 7.13.15, 8.5.7, 8.13.13
-
7.06
-
3
-
Severity 2 - Major
-
3
-
Issue Summary
/rest/agile/1.0/epic/none/issue pulls back all issues that don't have an epic, even though the results are paginated it appears the call itself is inefficient and can cause performance issues in JIRA. In an enterprise instance, this can be a lot of issues, leading to high memory usage, GC thrashing, high CPU and in some cases outofmemory errors. If you run more than one call at a time it can completely take down Jira forcing a full restart to kill the calls.
Steps to Reproduce
- run /rest/agile/1.0/epic/none/issue on an instance with 500k+ issues (unsubstantiated it may be possible to affect a smaller instance with this call)
Expected Results
The results will be returned without causing performance issues.
Actual Results
CPU and memory are maxed:
Full GCs and OOM is possible in an Enterprise instance:
Workaround
Adding parameters to the call will narrow down the search and thus the number of issues returned.
So instead of running the call without parameters, you could append a JQL search to narrow the total results:
- Results without parameters:
curl -X GET \ 'http://10.125.91.41:8080/jira857/rest/agile/1.0/epic/none/issue "expand": "schema,names", "startAt": 0, "maxResults": 50, "total": 646707,
- Results with parameters:
curl -X GET \ 'http://10.125.91.41:8080/jira857/rest/agile/1.0/epic/none/issue?jql=project%3DTEST' \ "expand": "schema,names", "startAt": 0, "maxResults": 50, "total": 3976,