Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-73193

Performance of Create Issue dialog creation degrades with high number of versions

    XMLWordPrintable

Details

    • 7.13
    • 5
    • Severity 2 - Major
    • 2
    • Hide
      Atlassian Update – 18.09.2023

      Hi everyone,

      Thank you for reporting this issue. In the last weeks we have been working hard on fixing it.

      Summary of the problem:

      Between Jira 9.2.0 and 9.2.2, the performance fix for create issue dialog has regressed to previous state, and affects all versions beyond 9.2.2. The create issue dialog would once again load all versions at once, which can take significant amount of time when amount of versions reaches high amounts.

      New behaviour after the change:

      Create issue dialog once again no longer suffers from version picker scaling issue. The amount of versions loaded to create issue dialog during initial render has upper bound, making that picker load in reasonable amount of time, regardless of versions amount.

      Status of the fix and Fix Version:

      The fix is ready, and we’re moving the status of this ticket to Waiting for release with Fix Version 9.4.11, 9.11.2 and 9.12.0.

      Best regards,
      Artur Falborski
      Jira DC Software Engineer

      Show
      Atlassian Update – 18.09.2023 Hi everyone, Thank you for reporting this issue. In the last weeks we have been working hard on fixing it. Summary of the problem: Between Jira 9.2.0 and 9.2.2, the performance fix for create issue dialog has regressed to previous state, and affects all versions beyond 9.2.2. The create issue dialog would once again load all versions at once, which can take significant amount of time when amount of versions reaches high amounts. New behaviour after the change: Create issue dialog once again no longer suffers from version picker scaling issue. The amount of versions loaded to create issue dialog during initial render has upper bound, making that picker load in reasonable amount of time, regardless of versions amount. Status of the fix and Fix Version: The fix is ready, and we’re moving the status of this ticket to Waiting for release with Fix Version 9.4.11 , 9.11.2 and 9.12.0 . Best regards, Artur Falborski Jira DC Software Engineer

    Description

      Issue Summary

      The "Create Issue" dialog open performance is inversely proportional to the amount of versions available to the project.

      The delay is not in generating the version list on the server, rather, the front-end creating the AUI dialog containing the versions. The delay manifests during the greyed out background with loading spinner after clicking the Create Issue button, and the Create Issue dialog actually appearing.

      This is because Jira does not lazy load versions based on user input to the version picker, rather, they are sent by the server as part of the QuickCreateIssue!default.jspa page, which then needs to be parsed and rendered by AUI.

      Steps to Reproduce

      1. Create a project with 1000 versions
      2. Click create issue. Time the dialog open time
      3. Increase the version count to 10,000.
      4. Click create issue. Time the dialog open time

      Expected Results

      • The dialog should open at the same speed, regardless of the version count

      Actual Results

      The screen turns dark grey with a loading spinner, and takes significantly slower compared to the lower version count test.

      Test results

      Test Version count Dialog opening time
      Profile-1000versions-407ms.json 1000 407ms
      Profile-4000versions-851ms.json 4000 851ms
      Profile-8000versions-1204ms.json 8000 1218ms

      8000 versions performance overview:

      It's clear the versions are sent by the server during the QuickCreateIssue.jspa page, rather than being lazy loaded. Snippet of QuickCreateIssue.jspa:

          <optgroup label=\\\"Unreleased Versions\\\">\\n                                                <option value=\\\"10000\\\">\\n                    New Version 0\\n                </option>\\n
                                    <option value=\\\"10001\\\">\\n                    New Version 1\\n
             </option>
      ..... and so on... 
      

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

      Attachments

        1. screenshot-1.png
          screenshot-1.png
          97 kB
        2. Profile-8000versions-1204ms.json
          10.59 MB
        3. Profile-4000versions-851ms.json
          10.16 MB
        4. Profile-4000-1113ms.json
          8.62 MB
        5. Profile-1000versions-407ms.json
          9.43 MB
        6. Profile-1000-586ms.json
          8.02 MB
        7. Profile-0-293ms.json
          6.95 MB
        8. image-2022-01-17-13-03-27-017.png
          image-2022-01-17-13-03-27-017.png
          48 kB

        Issue Links

          Activity

            People

              cf7069360d7e Mateusz Witkowski
              allewellyn@atlassian.com Alex [Atlassian,PSE]
              Votes:
              11 Vote for this issue
              Watchers:
              23 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: