This means that a simple mouseover on a large ChangeSet can bring Crucible to its knees, because for an N-revision changeset, up to N cruRevisions and N storedPaths are added to CRU_DB through the singleton Hibernate session, blocking all review creation until completed.
Consider for a 2.4.x release
Suggested solution:
- remove the revision rollout on the tooltip - at most we want to know how many revisions?
- audit the subclasses of Source - if RepositorySource is the only changesetCapable subclass, consider avoiding source altogether and asking FishEye directly for this info (careful consideration of cs tooltip support in Crucible-only needed here)
- add either a changeset revision counting method to Source,documenting a contract of speedy return. Or add a getChangesetDescription() that returns a ChangeSetDescription object providing summary data?
- Bonus refactor: rename Source to RevisionProvider or something. Don't forget subclasses.
- relates to
-
CRUC-4518 Crucible regularly hangs and is very slow
- Closed