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

When loading the directory tree with the 'all branches and tags' setting, FishEye loads too much file data, resulting in poor performance in some cases

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 3.8.1, 3.9.0
    • 3.0.0, 3.8.0
    • None
    • None

    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)
      

      Attachments

        Issue Links

          Activity

            People

              lpater Lukasz Pater
              lpater Lukasz Pater
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 55m
                  55m