summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Sizov <vsv2711@gmail.com>2015-07-19 22:49:21 +0300
committerValery Sizov <vsv2711@gmail.com>2015-07-19 22:49:21 +0300
commitebb6393d0eda26db10da85f0a57c3d707b4de558 (patch)
treed838339de1cc27cdc4fe6ccf7009f035475938f3
parent55b4f31d9274ad113386eb9ea004d7b4f1073c14 (diff)
downloadgitlab-ce-update_for_stable.tar.gz
Revert "Merge branch 'cache-improvement' into '7-13-stable' "update_for_stable
This reverts commit 94c2516afc7ad8854844c05001f4a390d0bd8724, reversing changes made to ae44e5ec064aaa9f5063732dc7bb6ee751a80ce2.
-rw-r--r--app/helpers/projects_helper.rb14
-rw-r--r--app/models/project.rb4
-rw-r--r--app/models/repository.rb35
-rw-r--r--app/services/git_push_service.rb2
-rw-r--r--app/services/git_tag_push_service.rb6
-rw-r--r--app/views/explore/projects/_project.html.haml2
-rw-r--r--app/views/projects/show.html.haml2
-rw-r--r--app/workers/project_cache_worker.rb15
-rw-r--r--app/workers/repository_import_worker.rb2
-rw-r--r--db/fixtures/development/04_project.rb35
-rw-r--r--db/migrate/20150717130904_add_commits_count_to_project.rb5
-rw-r--r--db/schema.rb3
-rw-r--r--lib/repository_cache.rb8
13 files changed, 23 insertions, 110 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index f61baf00525..78f24dbd7ef 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -276,18 +276,4 @@ module ProjectsHelper
def readme_cache_key
[@project.id, @project.commit.sha, "readme"].join('-')
end
-
- def round_commit_count(project)
- count = project.commit_count
-
- if count > 10000
- '10000+'
- elsif count > 5000
- '5000+'
- elsif count > 1000
- '1000+'
- else
- count
- end
- end
end
diff --git a/app/models/project.rb b/app/models/project.rb
index ff372ea9aa5..b161cbe86b9 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -683,10 +683,6 @@ class Project < ActiveRecord::Base
update_attribute(:repository_size, repository.size)
end
- def update_commit_count
- update_attribute(:commit_count, repository.commit_count)
- end
-
def forks_count
ForkedProjectLink.where(forked_from_project_id: self.id).count
end
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 2985619fd2e..6262b5c4c92 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -94,6 +94,18 @@ class Repository
gitlab_shell.rm_tag(path_with_namespace, tag_name)
end
+ def round_commit_count
+ if commit_count > 10000
+ '10000+'
+ elsif commit_count > 5000
+ '5000+'
+ elsif commit_count > 1000
+ '1000+'
+ else
+ commit_count
+ end
+ end
+
def branch_names
cache.fetch(:branch_names) { raw_repository.branch_names }
end
@@ -118,29 +130,10 @@ class Repository
cache.fetch(:size) { raw_repository.size }
end
- def cache_keys
- %i(size branch_names tag_names commit_count graph_log
- readme version contribution_guide changelog license)
- end
-
- def build_cache
- cache_keys.each do |key|
- unless cache.exist?(key)
- send(key)
- end
- end
- end
-
def expire_cache
- cache_keys.each do |key|
- cache.expire(key)
- end
- end
-
- def rebuild_cache
- cache_keys.each do |key|
+ %i(size branch_names tag_names commit_count graph_log
+ readme version contribution_guide changelog license).each do |key|
cache.expire(key)
- send(key)
end
end
diff --git a/app/services/git_push_service.rb b/app/services/git_push_service.rb
index 3511392d1d8..6135ae65007 100644
--- a/app/services/git_push_service.rb
+++ b/app/services/git_push_service.rb
@@ -21,6 +21,7 @@ class GitPushService
project.ensure_satellite_exists
project.repository.expire_cache
+ project.update_repository_size
if push_remove_branch?(ref, newrev)
@push_commits = []
@@ -60,7 +61,6 @@ class GitPushService
EventCreateService.new.push(project, user, @push_data)
project.execute_hooks(@push_data.dup, :push_hooks)
project.execute_services(@push_data.dup, :push_hooks)
- ProjectCacheWorker.perform_async(project.id)
end
protected
diff --git a/app/services/git_tag_push_service.rb b/app/services/git_tag_push_service.rb
index 1cc42b0b0ad..075a6118da2 100644
--- a/app/services/git_tag_push_service.rb
+++ b/app/services/git_tag_push_service.rb
@@ -2,15 +2,15 @@ class GitTagPushService
attr_accessor :project, :user, :push_data
def execute(project, user, oldrev, newrev, ref)
- project.repository.expire_cache
-
@project, @user = project, user
+
@push_data = build_push_data(oldrev, newrev, ref)
EventCreateService.new.push(project, user, @push_data)
project.execute_hooks(@push_data.dup, :tag_push_hooks)
project.execute_services(@push_data.dup, :tag_push_hooks)
- ProjectCacheWorker.perform_async(project.id)
+
+ project.repository.expire_cache
true
end
diff --git a/app/views/explore/projects/_project.html.haml b/app/views/explore/projects/_project.html.haml
index d769c91545d..d65fb529373 100644
--- a/app/views/explore/projects/_project.html.haml
+++ b/app/views/explore/projects/_project.html.haml
@@ -14,7 +14,7 @@
.repo-info
- unless project.empty_repo?
- = link_to pluralize(round_commit_count(project), 'commit'), namespace_project_commits_path(project.namespace, project, project.default_branch)
+ = link_to pluralize(project.repository.round_commit_count, 'commit'), namespace_project_commits_path(project.namespace, project, project.default_branch)
&middot;
= link_to pluralize(project.repository.branch_names.count, 'branch'), namespace_project_branches_path(project.namespace, project)
&middot;
diff --git a/app/views/projects/show.html.haml b/app/views/projects/show.html.haml
index b90cadfb1e2..98d9053eb1d 100644
--- a/app/views/projects/show.html.haml
+++ b/app/views/projects/show.html.haml
@@ -13,7 +13,7 @@
%ul.nav.nav-pills
%li
= link_to namespace_project_commits_path(@project.namespace, @project, @ref || @repository.root_ref) do
- = pluralize(number_with_delimiter(@project.commit_count), 'commit')
+ = pluralize(number_with_delimiter(@repository.commit_count), 'commit')
%li
= link_to namespace_project_branches_path(@project.namespace, @project) do
= pluralize(number_with_delimiter(@repository.branch_names.count), 'branch')
diff --git a/app/workers/project_cache_worker.rb b/app/workers/project_cache_worker.rb
deleted file mode 100644
index 55cb6af232e..00000000000
--- a/app/workers/project_cache_worker.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-class ProjectCacheWorker
- include Sidekiq::Worker
-
- sidekiq_options queue: :default
-
- def perform(project_id)
- project = Project.find(project_id)
- project.update_repository_size
- project.update_commit_count
-
- if project.repository.root_ref
- project.repository.build_cache
- end
- end
-end
diff --git a/app/workers/repository_import_worker.rb b/app/workers/repository_import_worker.rb
index 94832872d13..e6a50afedb1 100644
--- a/app/workers/repository_import_worker.rb
+++ b/app/workers/repository_import_worker.rb
@@ -28,7 +28,7 @@ class RepositoryImportWorker
project.import_finish
project.save
project.satellite.create unless project.satellite.exists?
- ProjectCacheWorker.perform_async(project.id)
+ project.update_repository_size
Gitlab::BitbucketImport::KeyDeleter.new(project).execute if project.import_type == 'bitbucket'
end
end
diff --git a/db/fixtures/development/04_project.rb b/db/fixtures/development/04_project.rb
index 8f71198e47f..87839770924 100644
--- a/db/fixtures/development/04_project.rb
+++ b/db/fixtures/development/04_project.rb
@@ -11,42 +11,9 @@ Sidekiq::Testing.inline! do
'https://github.com/twitter/flight.git',
'https://github.com/twitter/typeahead.js.git',
'https://github.com/h5bp/html5-boilerplate.git',
- 'https://github.com/google/material-design-lite.git',
- 'https://github.com/jlevy/the-art-of-command-line.git',
- 'https://github.com/FreeCodeCamp/freecodecamp.git',
- 'https://github.com/google/deepdream.git',
- 'https://github.com/jtleek/datasharing.git',
- 'https://github.com/WebAssembly/design.git',
- 'https://github.com/airbnb/javascript.git',
- 'https://github.com/tessalt/echo-chamber-js.git',
- 'https://github.com/atom/atom.git',
- 'https://github.com/ipselon/react-ui-builder.git',
- 'https://github.com/mattermost/platform.git',
- 'https://github.com/purifycss/purifycss.git',
- 'https://github.com/facebook/nuclide.git',
- 'https://github.com/wbkd/awesome-d3.git',
- 'https://github.com/kilimchoi/engineering-blogs.git',
- 'https://github.com/gilbarbara/logos.git',
- 'https://github.com/gaearon/redux.git',
- 'https://github.com/awslabs/s2n.git',
- 'https://github.com/arkency/reactjs_koans.git',
- 'https://github.com/twbs/bootstrap.git',
- 'https://github.com/chjj/ttystudio.git',
- 'https://github.com/DrBoolean/mostly-adequate-guide.git',
- 'https://github.com/octocat/Spoon-Knife.git',
- 'https://github.com/opencontainers/runc.git',
- 'https://github.com/googlesamples/android-topeka.git'
]
- # You can specify how many projects you need during seed execution
- size = if ENV['SIZE'].present?
- ENV['SIZE'].to_i
- else
- 8
- end
-
-
- project_urls.first(size).each_with_index do |url, i|
+ project_urls.each_with_index do |url, i|
group_path, project_path = url.split('/')[-2..-1]
group = Group.find_by(path: group_path)
diff --git a/db/migrate/20150717130904_add_commits_count_to_project.rb b/db/migrate/20150717130904_add_commits_count_to_project.rb
deleted file mode 100644
index 9b46daa5933..00000000000
--- a/db/migrate/20150717130904_add_commits_count_to_project.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-class AddCommitsCountToProject < ActiveRecord::Migration
- def change
- add_column :projects, :commit_count, :integer, default: 0
- end
-end
diff --git a/db/schema.rb b/db/schema.rb
index a63c2d05821..d6c34a77ee6 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20150717130904) do
+ActiveRecord::Schema.define(version: 20150713160110) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -374,7 +374,6 @@ ActiveRecord::Schema.define(version: 20150717130904) do
t.integer "star_count", default: 0, null: false
t.string "import_type"
t.string "import_source"
- t.integer "commit_count", default: 0
end
add_index "projects", ["created_at", "id"], name: "index_projects_on_created_at_and_id", using: :btree
diff --git a/lib/repository_cache.rb b/lib/repository_cache.rb
index 8ddc3511293..fa016a170cd 100644
--- a/lib/repository_cache.rb
+++ b/lib/repository_cache.rb
@@ -18,12 +18,4 @@ class RepositoryCache
def fetch(key, &block)
backend.fetch(cache_key(key), &block)
end
-
- def exist?(key)
- backend.exist?(cache_key(key))
- end
-
- def read(key)
- backend.read(cache_key(key))
- end
end