Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-5652

getReviewsForChangeset() can be very slow for large changesets

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Medium
    • None
    • 3.0.0, 3.8.0
    • None
    • None

    Description

      When checking the reviews for a specific changeset (this is used in activity streams, changeset page, services used by the JIRA development panel, and the API), the getReviewsForChangeset() method traverses all revisions for the reviews.

      The number of revisions can be very large in some cases (especially for tag/branch commits in SVN), causing the method to execute very long.

      Example stacks are:

      ...
      	at com.cenqua.fisheye.rep.impl.CommonRevInfoDAO$3.apply(CommonRevInfoDAO.java:2304)
      	at com.cenqua.fisheye.rep.impl.CommonRevInfoDAO$3.apply(CommonRevInfoDAO.java:2298)
      	at com.cenqua.fisheye.rep.impl.CommonRevInfoDAO.searchChangeSetRevids(CommonRevInfoDAO.java:320)
      	at com.cenqua.fisheye.rep.impl.CommonRevInfoDAO.getReviewsForChangeset(CommonRevInfoDAO.java:2298)
      	at com.cenqua.fisheye.rep.RevidChangeSet.getReviewIds(RevidChangeSet.java:37)
      ...
      

      Note: this can affect JIRA-FishEye dev status integration and cause timeouts on the Jira dev status panel. This can affect the performance of the following REST query:

      /rest/dev-status/1.0/details/repositories?globalId=[ISSUE-KEY]
      

      Attachments

        1. qtp11
          17 kB
        2. qtp12
          19 kB
        3. qtp15
          19 kB
        4. qtp17
          19 kB
        5. qtp22
          18 kB

        Issue Links

          Activity

            People

              Unassigned Unassigned
              lpater Lukasz Pater
              Votes:
              4 Vote for this issue
              Watchers:
              14 Start watching this issue

              Dates

                Created:
                Updated: