Details
-
Bug
-
Resolution: Unresolved
-
Medium
-
None
-
3.0.0, 3.8.0
-
None
-
None
-
Severity 2 - Major
-
9
-
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]