From 77363724b2b9319c8dc23bbc228ad5438c2eab09 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Sun, 19 Jul 2015 22:53:14 -0700 Subject: 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 --- CHANGELOG | 9 +++++++++ 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 -- cgit v1.2.1