Description
When the 'all branches and tags' setting is selected when building the directory tree, FileRevisions are loaded eagerly, when in fact only a few fields are needed. This causes potential slowdowns especially for directories with a lot of files.
Other paths (with a branch or tag selected), only lazy-load the revisions, resulting in better performance.
Stacktrace:
at com.cenqua.fisheye.rep.impl.CommonRevInfoDAO.load(CommonRevInfoDAO.java:242) at com.cenqua.fisheye.svn.db.SvnRevInfoDAO.load(SvnRevInfoDAO.java:596) at com.atlassian.fisheye.svn.Svn2Cache.getFileRevision(Svn2Cache.java:329) at com.atlassian.fisheye.svn.Svn2Cache.getFileRevision(Svn2Cache.java:324) at com.atlassian.fisheye.svn.Svn2Cache.getLatestFileRevision(Svn2Cache.java:378) at com.atlassian.fisheye.svn.Svn2Cache.getLatestFileRevision(Svn2Cache.java:74) at com.cenqua.fisheye.cache.BaseRevisionCache.visitHeadRevisionsAtPath(BaseRevisionCache.java:508) at com.cenqua.fisheye.web.FisheyeRepositoryExplorer.visitFilesAtPath(FisheyeRepositoryExplorer.java:179) at com.cenqua.fisheye.web.FisheyeRepositoryExplorer.listHeadRevisions(FisheyeRepositoryExplorer.java:155) at com.cenqua.fisheye.web.dirtree.FisheyeDirTreeData$2.getLatestFileRevision(FisheyeDirTreeData.java:54) at com.cenqua.fisheye.web.dirtree.AbstractLazyDirTree.addFilePath(AbstractLazyDirTree.java:200) at com.cenqua.fisheye.web.dirtree.AbstractLazyDirTree.computeSubDirs(AbstractLazyDirTree.java:178) at com.cenqua.fisheye.web.dirtree.AbstractLazyDirTree.fillSubDirs(AbstractLazyDirTree.java:111) at com.cenqua.fisheye.web.dirtree.AbstractLazyDirTree.<init>(AbstractLazyDirTree.java:101) at com.cenqua.fisheye.web.dirtree.FisheyeDirTreeData.<init>(FisheyeDirTreeData.java:31) at com.cenqua.fisheye.web.dirtree.FisheyeDirTreeData.<init>(FisheyeDirTreeData.java:13) at com.cenqua.fisheye.web.dirtree.FisheyeDirTreeData$1.visit(FisheyeDirTreeData.java:24) at com.cenqua.fisheye.web.dirtree.DirTreeContextImpl.calculateWith(DirTreeContextImpl.java:45) at com.cenqua.fisheye.web.dirtree.DirTreeCache.calculateWith(DirTreeCache.java:110) at com.cenqua.fisheye.web.dirtree.FisheyeDirTreeData.create(FisheyeDirTreeData.java:22) at com.cenqua.fisheye.web.dirtree.FisheyeDirTreeData.create(FisheyeDirTreeData.java:17) at com.atlassian.crucible.explorers.RepositoryRepositoryExplorer.getDirTreeData(RepositoryRepositoryExplorer.java:42) at com.cenqua.fisheye.web.dirtree.LoadSubTreeAction.makeDirTree(LoadSubTreeAction.java:44) at com.cenqua.fisheye.web.dirtree.AbstractLoadSubTreeAction.execute(AbstractLoadSubTreeAction.java:33)