diff options
author | Valery Sizov <valery@gitlab.com> | 2015-07-20 12:40:29 +0000 |
---|---|---|
committer | Valery Sizov <valery@gitlab.com> | 2015-07-20 12:40:29 +0000 |
commit | cb691f417db2961baf2d3a24ae2748288198a1b7 (patch) | |
tree | 152ed156ea85b7e4848a482b5799768536c3bb00 | |
parent | 922b738ae529ef9730aac47450026be9544cd283 (diff) | |
parent | e1811316d73ea0b240d7f47e1de557b712ed4cee (diff) | |
download | gitlab-ce-cb691f417db2961baf2d3a24ae2748288198a1b7.tar.gz |
Merge branch 'fix-slow-repository-cache-update' into 'master'
Remove repository graph log to fix slow cache updates after push event
Recalculating `graph_log` took minutes on a large repository since each
of the 6000 commits would need to calculate the diff. Since graph_log
does not appear to be used, remove it from the list of things to update.
For the Linux kernel repository, this reduced the `ProjectCacheWorker` time
from 8+ minutes to 16 seconds.
Closes #2016
See merge request !1005
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/models/repository.rb | 20 |
2 files changed, 2 insertions, 19 deletions
diff --git a/CHANGELOG b/CHANGELOG index 0db3dfc04a5..e7844ad97ac 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ Please view this file on the master branch, on stable branches it's out of date. v 7.14.0 (unreleased) + - Remove repository graph log to fix slow cache updates after push event (Stan Hu) - Fix label read access for unauthenticated users (Daniel Gerhardt) - Fix OAuth provider bug where GitLab would not go return to the redirect_uri after sign-in (Stan Hu) - Fix file upload dialog for comment editing (Daniel Gerhardt) diff --git a/app/models/repository.rb b/app/models/repository.rb index 1d208aa71c4..807b33b2a3e 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -119,7 +119,7 @@ class Repository end def cache_keys - %i(size branch_names tag_names commit_count graph_log + %i(size branch_names tag_names commit_count readme version contribution_guide changelog license) end @@ -144,24 +144,6 @@ class Repository end end - def graph_log - cache.fetch(:graph_log) do - commits = raw_repository.log(limit: 6000, skip_merges: true, - ref: root_ref) - - commits.map do |rugged_commit| - commit = Gitlab::Git::Commit.new(rugged_commit) - - { - author_name: commit.author_name, - author_email: commit.author_email, - additions: commit.stats.additions, - deletions: commit.stats.deletions, - } - end - end - end - def lookup_cache @lookup_cache ||= {} end |