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

Bulk Edit assignee list performance limitation due to using CollectionList

    XMLWordPrintable

Details

    Description

      From the ticket:

      Bulk Edit is broken due to following line of code in getAssigneeOptionsList(BulkEditBean bulkEditBean) method of AssigneeSystemField.java:

      users.retainAll(getAssignableUsers(bulkEditBean, issue));

      getAssignableUsers(bulkEditBean, issue) method returns Collection <User> object. Therefore, the above code is invoking Collection.retainAll(Collection). Collection.retainAll(Collection) implementations aren't optimized.
      When a sufficiently large collection is used as an argument, the performance is pathologically slow. This is a known Issue in JAVA. Please check following bug:

      http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5028425

      Performance can be optimized by transforming collection argument to HashSet. Cast return value of getAssignableUsers(bulkEditBean, issue) method to HastSet.

      private Collection<User> getAssignableUsers(OperationContext operationContext, Issue issue)

      { return new HashSet<User>(uniqueUsers.values()); }

      Please ask JIRA developers to verify this solution.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tdavis TylerA
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: