summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2015-07-19 22:53:14 -0700
committerStan Hu <stanhu@gmail.com>2015-07-19 22:53:14 -0700
commite1811316d73ea0b240d7f47e1de557b712ed4cee (patch)
tree4ea24663235b49658f666288dbbbdabadd7ef030
parente5a12596abe48504737cb8633872794aa83ccb32 (diff)
downloadgitlab-ce-e1811316d73ea0b240d7f47e1de557b712ed4cee.tar.gz
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
-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 b1d079ef207..ed23ee4a90c 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