summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Sizov <valery@gitlab.com>2015-07-20 12:40:29 +0000
committerValery Sizov <valery@gitlab.com>2015-07-20 12:40:29 +0000
commitcb691f417db2961baf2d3a24ae2748288198a1b7 (patch)
tree152ed156ea85b7e4848a482b5799768536c3bb00
parent922b738ae529ef9730aac47450026be9544cd283 (diff)
parente1811316d73ea0b240d7f47e1de557b712ed4cee (diff)
downloadgitlab-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--CHANGELOG1
-rw-r--r--app/models/repository.rb20
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