Timeout error to load the burndown chart report
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
The loading of the Epic BurnDown chart is extremely slow and results in a timeout error on the client.
Environment
All Jira Versions
Diagnosis
Analyzing the har file shows REST calls were stuck.
1
/rest/greenhopper/1.0/xboard/plan/backlog/epics.json
Lucene search is continuously seen throughout the thread dumps
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
url: /rest/greenhopper/1.0/xboard/plan/backlog/epics.json; user: apple@abc.xyz.com
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:660)
org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:462)
com.atlassian.jira.index.stats.IndexSearcherWithStats.search(IndexSearcherWithStats.java:88)
com.atlassian.jira.index.DelegateSearcher.search(DelegateSearcher.java:169)
com.atlassian.jira.index.DelegateSearcher.search(DelegateSearcher.java:169)
com.atlassian.jira.index.UnmanagedIndexSearcher.search(UnmanagedIndexSearcher.java:55)
com.atlassian.jira.index.DelegateSearcher.search(DelegateSearcher.java:169)
com.atlassian.jira.index.ManagedIndexSearcher.search(ManagedIndexSearcher.java:15)
com.atlassian.jira.issue.search.providers.LuceneSearchProvider.search(LuceneSearchProvider.java:324)
com.atlassian.jira.issue.search.providers.LuceneSearchProvider.search(LuceneSearchProvider.java:158)
..
....
com.atlassian.greenhopper.service.issue.IssueDataServiceImpl.findImpl(IssueDataServiceImpl.java:181)
com.atlassian.greenhopper.service.issue.IssueDataServiceImpl.findWithServiceOutcome(IssueDataServiceImpl.java:63)
com.atlassian.greenhopper.web.rapid.plan.ClassificationStatisticServiceImpl.getClassificationStatistics(ClassificationStatisticServiceImpl.java:120)
com.atlassian.greenhopper.web.rapid.plan.ClassificationStatisticServiceImpl.getEpicStatistics(ClassificationStatisticServiceImpl.java:77)
com.atlassian.greenhopper.web.rapid.epics.EpicsHelper.loadEpicStatistics(EpicsHelper.java:89)
com.atlassian.greenhopper.web.rapid.epics.EpicsHelper.loadEpicData(EpicsHelper.java:61)
com.atlassian.greenhopper.web.rapid.plan.PlanningModeResource$1.call(PlanningModeResource.java:138)
com.atlassian.greenhopper.web.rapid.plan.PlanningModeResource$1.call(PlanningModeResource.java:130)
com.atlassian.greenhopper.web.util.RestCall.response(RestCall.java:38)
com.atlassian.greenhopper.web.AbstractResource.createResponse(AbstractResource.java:87)
com.atlassian.greenhopper.web.AbstractResource.response(AbstractResource.java:69)
com.atlassian.greenhopper.web.rapid.plan.PlanningModeResource.getBacklogEpics(PlanningModeResource.java:130)
Slow query logs indicate that the JQL execution time is very large.
1
http-nio-8080-exec-272 url: /rest/greenhopper/1.0/xboard/plan/backlog/epics.json; user: apple@abc.xyz.com WARN apple@abc.xyz.com 607x7820420x17 1eum2p3 /rest/greenhopper/1.0/xboard/plan/backlog/epics.json [c.a.j.i.search.providers.LuceneSearchProvider_SLOW] LuceneQueryExecutionEvent{query={issuetype in standardIssueTypes()}, queryTermMetrics={org.apache.lucene.search.TermInSetQuery=TermMetric{count=1, isCustomField=false}}, numberOfClausesInQuery=1, executionTime=210969, numberOfResults=-1, collectorType='class com.atlassian.greenhopper.service.issue.IssueDataCollector'}
Check the board configuration if the JQL is empty or contains unexpected JQL, which could cause delays.
Cause
The board configuration has the filter configured with an empty JQL, which could cause it to loop through all the epics across all the projects and make extensive Lucene search.
Solution
Update the filter under board config by following the knowledge base article Configuring filters.
Was this helpful?