Defect #4716

Git repository performance fall on parsing new commits after 0.9.1 update

Added by Gergely Fábián almost 8 years ago. Updated over 7 years ago.

Status:ClosedStart date:2010-02-02
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:SCM
Target version:0.9.3
Resolution:Fixed Affected version:0.9.1

Description

I recently updated Redmine from 0.8.7 to 0.9.1.
Everything works ok, just the git repository seems really slow (when processing new commits).
There are ~2600 commits and 7 branches in the repo.
I've been using Git with Redmine already in 0.8.7, there processing all commits took long (fair enough), but processing one new commit was just around 10 seconds.
Here pulling one new commit (to one branch) and then opening the Repository page takes really long (when the repository was loaded previously), even some minutes.
May it be that when checking for new commits Redmine goes too deep in the log (that can be painful for big repositories)?

I use the following software:
git 1.5.6.3
Mysql 5.0.67
Ruby 1.8.7.72
Rails 2.3.5
Using redmine 0.9-stable, "Merged r3351 from trunk." commit on top.


Related issues

Related to Redmine - Defect #8857: Git: Too long in fetching repositories after upgrade from... Closed 2011-07-20
Related to Redmine - Feature #1406: Browse through Git branches Closed 2008-06-09

Associated revisions

Revision 3394
Added by Jean-Philippe Lang almost 8 years ago

Do not parse the entire git log to fetch new commits (takes several minutes for a few thousands commits), but only 1 week before the last known commit (#4547, #4716).

Revision 8156
Added by Toshi MARUYAMA almost 6 years ago

scm: git: remove unused --since option (#4547, #4716, #7146, #6013)

History

#1 Updated by Gergely Fábián almost 8 years ago

Parsing a new commit (maybe it was 4 new commits this time, not one) takes around 1700 seconds (28 minutes). For that time redmine hardly answers also for other requests. After that time is gone, it's ok again (until new commits are uploaded and repo page is opened...).

#2 Updated by Jean-Philippe Lang almost 8 years ago

Fix committed in r3394.
Feedback would be appreciated before merging it into 0.9-stable.

#3 Updated by Gergely Fábián almost 8 years ago

I put the fix commit on top of 0.9-stable (r3392 currently) and updated redmine.
Uploaded some new commits to the repo, updated two branches, here is part of the git info:

Counting objects: 124, done.
Compressing objects: 100% (64/64), done.
Writing objects: 100% (70/70), 19.34 KiB, done.
Total 70 (delta 47), reused 1 (delta 0)

I tried opening the repository page, and I got Internal server error once (after loading really long - and the server's load became high).
After some time, I refreshed the repository page again, it was loading long, but finally I got the repo page.
In the log I find:
"Completed in 1030714ms (View: 366, DB: 45162)", so 1030s (17 minutes).

#4 Updated by Gergely Fábián almost 8 years ago

Sorry, it was my failure, somehow I was testing the old version. I'll get back to you once I've tested the new one :)

#5 Updated by Gergely Fábián almost 8 years ago

  • Status changed from New to Resolved

I uploaded a new commit, and parsing the repo lasted for 20 seconds. That's nice comparing to 17 minutes :)
Thanks much for fixing this bug so fast!

#6 Updated by Jean-Philippe Lang over 7 years ago

  • Category set to SCM
  • Status changed from Resolved to Closed
  • Target version set to 0.9.3
  • Resolution set to Fixed

Thanks for the feedback. The fix was merged in 0.9.3.

Also available in: Atom PDF