A customer saw queues taking up to 20s to load (with 35 queues in a single projects). This was because the count issues method uses jql search using LuceneSearchProvider in JIRA core to count issues for any queue. Issues for all queues are counted at page load, queue update, add issue and the polling on the queues page, to show the issue count lozenge on the left hand panel.
- store the project specific setting using the GlobalPropertyDao
- currently issue count is done by JQL search in JIRA core
- QueueServiceImpl accepts a bool to shouldCount for queues
- CustomQueuesItemProvider:getqueues provides a true value for shouldCount
- QueueAssemblerImpl:getQueues provides a shouldCount value that is passed through API call and that is false by default.
As of 3.4.2 there will be a new experimental admin REST api available to set whether the queue count should be included on the Queues page.
A global setting that can be set by JIRA admin is available:
There is also a project level setting that can be set by either a JIRA or Project Admin.
NB: If the global setting is off, then queue count will not be enabled for any project, as it will take precedence.
This is an experimental api and therefore as it may be moved, or replaced in the future, until it becomes public, will require opt-in with the Experimental-API header
- Reduce the amount of queues per project
- Simplify the JQL search in each queues (avoid using SLA check when possible)