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

Performance problem when i create an issue with a version picker custom field

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 5.1.7, 5.2
    • 5.1.3
    • Issue - Fields

    Description

      Test Case :

      • Install JIRA 5.1.3
      • Create a custom field with type "Version Picker"
      • Assign this custom field to create issue screen
      • Enable SQL logging
      • Open create issue popup

      We have some performance problems during downpage loading (5s).

      In SQL logs, we can see :

      atlassian-jira-sql.log
      2012-09-20 14:53:48,157 calitrack-thread-31 ut1j2x 893x78517x1 ogq6gk /secure/QuickCreateIssue!default.jspa 1ms Connection returned. borrowed : 0
      2012-09-20 14:53:48,204 calitrack-thread-31 ut1j2x 893x78517x1 ogq6gk /secure/QuickCreateIssue!default.jspa 0ms Connection taken. borrowed : 1
      2012-09-20 14:53:53,151 calitrack-thread-31 ut1j2x 893x78517x1 ogq6gk /secure/QuickCreateIssue!default.jspa 4947ms ""
      2012-09-20 14:53:53,151 calitrack-thread-31 ut1j2x 893x78517x1 ogq6gk /secure/QuickCreateIssue!default.jspa 4947ms Connection returned. borrowed : 0
      2012-09-20 14:53:53,156 calitrack-thread-31 ut1j2x 893x78517x1 ogq6gk /secure/QuickCreateIssue!default.jspa 0ms Connection taken. borrowed : 1
      

      We have an empty query with a time of 4947ms

      Problem seem to be locate in file VersionCFType.java at line 269.
      When we try to create an issue, JIRA looking for current selected archived versions with an issue in parameter list. But the issue doesn't exist yet.

      VersionCFType.java
      if (issue != null)
              {
                  // JRA-15007: released versions must always be reversed (descending order)
                  final Collection releasedversion = versionManager.getVersionsReleasedDesc(issue.getProjectObject().getId(), false);
                  final Collection unreleasedversion = versionManager.getVersionsUnreleased(issue.getProjectObject().getId(), false);
                  final Collection currentlySelectedArchivedVersions = getCurrentlySelectedArchivedVersions(issue, field);
      
                  velocityParameters.put("unknownVersionId", -1L);
                  velocityParameters.put("releasedVersion", releasedversion);
                  velocityParameters.put("unreleasedVersion", unreleasedversion);
                  velocityParameters.put("archivedVersions", currentlySelectedArchivedVersions);
                  if (fieldLayoutItem != null)
                  {
                      velocityParameters.put("isFrotherControl", HackyRendererType.fromKey(fieldLayoutItem.getRendererType()) == HackyRendererType.FROTHER_CONTROL);
                  }
              }
      

      I made a quick correction to test performances :

      VersionCFType.java
      if (issue != null) {
      			// JRA-15007: released versions must always be reversed (descending
      			// order)
      			final Collection releasedversion = versionManager.getVersionsReleasedDesc(issue.getProjectObject().getId(), false);
      			final Collection unreleasedversion = versionManager.getVersionsUnreleased(issue.getProjectObject().getId(), false);
      			Collection currentlySelectedArchivedVersions = null;
      			if (issue.getId() != null) {
      				currentlySelectedArchivedVersions = getCurrentlySelectedArchivedVersions(issue, field);
      			}
      			velocityParameters.put("unknownVersionId", -1L);
      			velocityParameters.put("releasedVersion", releasedversion);
      			velocityParameters.put("unreleasedVersion", unreleasedversion);
      			velocityParameters.put("archivedVersions", currentlySelectedArchivedVersions);
      			if (fieldLayoutItem != null) {
      				velocityParameters.put("isFrotherControl",
      						HackyRendererType.fromKey(fieldLayoutItem.getRendererType()) == HackyRendererType.FROTHER_CONTROL);
      			}
      		}
      

      With this correction problem disapear (5s-->less than 1s)

      Can you check the correction and include it in next package ?

      Attachments

        Issue Links

          Activity

            People

              mlassau Mark Lassau (Inactive)
              988fc3571d73 Frédéric Cilia
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: