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
This commit is contained in:
Stan Hu 2015-07-19 22:53:14 -07:00
parent e5a12596ab
commit e1811316d7
2 changed files with 2 additions and 19 deletions

View File

@ -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)

View File

@ -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