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

As an administrator, I want Git tags to be indexed faster

XMLWordPrintable

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      Problem Definition

      In some circumstances, the indexing of tags in Git might be slow and it could take more than 10 minutes to index 35 tags:

      2015-12-09 08:25:45,640 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Contacting repository.
      2015-12-09 08:25:45,642 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Getting updates from /repos/some-test.git
      2015-12-09 08:25:48,373 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Updated from /repos/some-test.git
      2015-12-09 08:25:48,373 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Indexing has commenced for repository some-test
      2015-12-09 08:25:48,830 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Indexing changes on branch Y
      2015-12-09 08:25:48,831 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Getting commits from Y up to ...
      2015-12-09 08:25:49,264 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Post-processing updated branches
      2015-12-09 08:25:49,628 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Updating changeset index
      2015-12-09 08:25:49,755 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Processing tags
      2015-12-09 08:25:50,236 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:26:32,823 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:26:51,456 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:27:09,296 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:27:25,040 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:27:42,515 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:27:58,142 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:28:14,023 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:28:29,262 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:28:44,659 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:29:01,501 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:29:20,727 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:29:38,009 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:29:56,810 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:30:14,478 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:30:31,446 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:30:46,747 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:31:03,556 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:31:19,319 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:31:35,322 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:31:52,661 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:32:08,583 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:32:25,938 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:32:42,480 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:32:58,264 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:33:13,297 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:33:28,261 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:33:41,766 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:33:56,937 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:34:13,943 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:34:31,232 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:34:49,277 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:35:07,135 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:35:21,112 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:35:37,942 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Adding tag X ...
      2015-12-09 08:35:53,904 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Finished processing tags
      2015-12-09 08:35:54,385 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Updating list of head file revisions on branch Y
      2015-12-09 08:35:56,471 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Finished generating line count data, 199378 file revisions processed
      2015-12-09 08:35:56,480 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Contacting repository.
      2015-12-09 08:35:56,493 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Getting updates from /repos/some-test.git
      2015-12-09 08:35:59,539 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Updated from /repos/some-test.git
      2015-12-09 08:35:59,540 DEBUG [IncrPing4 some-test ] fisheye RepositoryStatus-setMessage - Status change [some-test]: Indexing has commenced for repository some-test
      

      In another cases, the indexing process could last over 16 minutes to index 1 tag:

      2015-12-07 08:11:24,335 DEBUG [IncrPing3 repo2 ] fisheye Timer-output - -> applying tag X ... mem_usage = 1663572672 heapsize = 3266314240 freemem = 1602741568
      2015-12-07 08:27:40,653 DEBUG [IncrPing3 repo2 ] fisheye Timer-output - <- applying tag X ...  time 976318 millis mem_usage = 1728131504 heapsize = 3366977536 freemem = 1638846032
      

      The indexing time seems to be related to number of files in the repository.

      Suggested Solution

      Improve the indexing time of Git tags.

      Workaround

      Disable the indexing of tags for Git repositories by adding the --Xdisable-tags option to the FishEye/Crucible Command-Line Options.

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

                Created:
                Updated: