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

Slow Git indexing: "Branch master has been moved"

    XMLWordPrintable

Details

    Description

      Fisheye process Git commits in blocks so two long unrelated ancestry lines which belong to the same branch (eg. master) may lead to "Branch master has been moved" situation. That forces branch membership to be rebuilt and results in indexing performance degradation especially visible for large repositories.

      Situation may be reproduced with git-branch-moved.zip repository

      $ git log --oneline --graph --all
      * 51bcc43 a.txt 3
      *   6c9f121 Merge branch 'branch-x' int master
      |\  
      | * 9671aa4 x.txt 2
      | * 126e049 x.txt 1
      * | 8daac0f a.txt 2
      |/  
      * b3cbb20 a.txt 1
      

      and block size set to 1.

      For such set up I was able to get message

      2014-12-03 09:32:30,784 INFO  [InitPing3 git-branch-moved ] fisheye CommonChangeSetDAO-clearOnBranchesIfRefWarped - Branch master has been moved from 9671aa4ceecda63ba832cc43398deac49e4e879f to 8daac0fab4890fb1e83640a37cbf5048f89abcad, which is not a descendant of its old value. Rebuilding branch memberships for the branch
      

      Workaround

      The possible workaround is to increase block size from default 1000 to some bigger value which prevents "Branch master has been moved" appearing in the logs.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              czawadka@atlassian.com Cezary Zawadka
              Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: