Uploaded image for project: 'Jira Service Management Server and Data Center'
  1. Jira Service Management Server and Data Center
  2. JSDSERVER-4897

Loading issue count is slow when there are many queues in single project

    XMLWordPrintable

Details

    • Suggestion
    • Status: Closed (View Workflow)
    • Resolution: Fixed
    • 3.4.2
    • None
    • None
    • We collect Jira Service Desk feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

    Description

      NOTE: This suggestion is for JIRA Service Desk Server. Using JIRA Service Desk Cloud? See the corresponding suggestion.

      Problem Definition

      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.

      Suggested Solution

      1. store the project specific setting using the GlobalPropertyDao
      2. currently issue count is done by JQL search in JIRA core
      3. QueueServiceImpl accepts a bool to shouldCount for queues
      4. CustomQueuesItemProvider:getqueues provides a true value for shouldCount
      5. QueueAssemblerImpl:getQueues provides a shouldCount value that is passed through API call and that is false by default.

      New experimental settings

      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:

      PUT <contextpath>/rest/servicedeskapi/admin/queues/include-count - true/false body - 200 response (default true)
      

      There is also a project level setting that can be set by either a JIRA or Project Admin.

      PUT <contextpath>/rest/servicedeskapi/admin/queues/<projectkey>/include-count - true/false body - 200 response (default true)
      

      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

      Workaround

      1. Reduce the amount of queues per project
      2. Simplify the JQL search in each queues (avoid using SLA check when possible)

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              vkharisma vkharisma
              Votes:
              5 Vote for this issue
              Watchers:
              20 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 4h
                  4h
                  Logged:
                  Time Spent - 0h
                  0h

                  Backbone Issue Sync