diff options
author | Stan Hu <stanhu@gmail.com> | 2015-07-20 08:53:14 +0300 |
---|---|---|
committer | Valery Sizov <vsv2711@gmail.com> | 2015-07-21 13:12:01 +0300 |
commit | 77363724b2b9319c8dc23bbc228ad5438c2eab09 (patch) | |
tree | 6515707bfca992db9f51b4df925a727df1c90596 | |
parent | 008d1381ce3a3cf322c6eb64ce07576cafc53826 (diff) |
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-- | CHANGELOG | 9 | ||||
-rw-r--r-- | app/models/repository.rb | 20 |
2 files changed, 10 insertions, 19 deletions
diff --git a/CHANGELOG b/CHANGELOG index 84545e4be1a..960d0acbf1d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,15 @@ Please view this file on the master branch, on stable branches it's out of date. v 7.13.0 +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) + - Expire Rails cache entries after two weeks to prevent endless Redis growth + - Add support for destroying project milestones (Stan Hu) + +v 7.13.0 (unreleased) - Only enable HSTS header for HTTPS and port 443 (Stan Hu) - Fix user autocomplete for unauthenticated users accessing public projects (Stan Hu) - Fix redirection to home page URL for unauthorized users (Daniel Gerhardt) diff --git a/app/models/repository.rb b/app/models/repository.rb index 2985619fd2e..277a9178592 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 |