diff options
author | Jan Provaznik <jprovaznik@gitlab.com> | 2018-12-06 19:07:14 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-12-06 19:07:14 +0300 |
commit | 3720d02b8bfe4e26669260d9bf7f24d21e8a16a8 (patch) | |
tree | c9fa6161e6ff8d030e92ae58a98d2d24bccd86a3 /lib/gitlab/database | |
parent | b4146c7000231f4a8c71598dcf905d40ea95ab4e (diff) |
Use approximate counts for big tables
Diffstat (limited to 'lib/gitlab/database')
-rw-r--r-- | lib/gitlab/database/count.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/database/count/exact_count_strategy.rb | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/gitlab/database/count.rb b/lib/gitlab/database/count.rb index c996d786909..f3d37ccd72a 100644 --- a/lib/gitlab/database/count.rb +++ b/lib/gitlab/database/count.rb @@ -40,7 +40,7 @@ module Gitlab if strategy.enabled? models_with_missing_counts = models - counts_by_model.keys - break if models_with_missing_counts.empty? + break counts_by_model if models_with_missing_counts.empty? counts = strategy.new(models_with_missing_counts).count diff --git a/lib/gitlab/database/count/exact_count_strategy.rb b/lib/gitlab/database/count/exact_count_strategy.rb index 0276fe2b54f..fa6951eda22 100644 --- a/lib/gitlab/database/count/exact_count_strategy.rb +++ b/lib/gitlab/database/count/exact_count_strategy.rb @@ -20,6 +20,8 @@ module Gitlab models.each_with_object({}) do |model, data| data[model] = model.count end + rescue *CONNECTION_ERRORS + {} end def self.enabled? |