Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-12109

Loading all boards related to a project for a given user results in an excessive number of SQL queries

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • 6.7.3
    • 6.5.0
    • None

    Description

      Summary

      When we query the boards involving a given project context for a particular user (for instance, when we are displaying the browse projects agile board view displayed by the new project sidebar). We will issue N + 1 queries where N = the number of boards in the system.

      For a sufficiently high value of N (thousands), this will cause a notable slowdown in the operations performing this call.

      Environment

      • A large number of Agile boards, i.e. thousands

      Steps to Reproduce

      1. Create a large number (thousands) of JIRA Agile boards
      2. Load a project page
      3. Notice the number of SQL queries performed by JIRA Agile

      Expected Results

      JIRA Agile should only issue one query to load all agile boards from the database, which should not have a significant performance impact on the load time of the browse projects page.

      Actual Results

      JIRA Agile performs N + 1 queries to load all agile boards from the database, where N = number of agile boards stored in the database, with a significant impact in the rendering speed of the browse projects page.

      Workaround

      Disable the new project navigation as per Configuring Project Navigation to disable it globally, or Project Navigation Options on a per-user basis.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ohernandez@atlassian.com Oswaldo Hernandez (Inactive)
              Votes:
              5 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: