summaryrefslogtreecommitdiff
path: root/app/models/concerns
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2019-07-09 14:45:46 -0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2019-07-09 14:45:46 -0300
commit2615265ef82e07ea36df67f6d1a11ad4a731ad63 (patch)
tree92c1d3ab69f88e1dceed11ae886e1acb6ae65f1e /app/models/concerns
parent203ef336392befd907c335a4a851ec0794d5e91a (diff)
parent48c19d9e296b2bec3663f46b8d936da2082171b1 (diff)
downloadgitlab-ce-2615265ef82e07ea36df67f6d1a11ad4a731ad63.tar.gz
Merge branch 'master' into sathieu/gitlab-ce-project_api
Diffstat (limited to 'app/models/concerns')
-rw-r--r--app/models/concerns/deployment_platform.rb19
-rw-r--r--app/models/concerns/issuable.rb4
-rw-r--r--app/models/concerns/reactive_caching.rb8
3 files changed, 25 insertions, 6 deletions
diff --git a/app/models/concerns/deployment_platform.rb b/app/models/concerns/deployment_platform.rb
index 5a358ae2ef6..8f28c897eb6 100644
--- a/app/models/concerns/deployment_platform.rb
+++ b/app/models/concerns/deployment_platform.rb
@@ -12,11 +12,26 @@ module DeploymentPlatform
private
def find_deployment_platform(environment)
- find_cluster_platform_kubernetes(environment: environment) ||
- find_group_cluster_platform_kubernetes(environment: environment) ||
+ find_platform_kubernetes(environment) ||
find_instance_cluster_platform_kubernetes(environment: environment)
end
+ def find_platform_kubernetes(environment)
+ if Feature.enabled?(:clusters_cte)
+ find_platform_kubernetes_with_cte(environment)
+ else
+ find_cluster_platform_kubernetes(environment: environment) ||
+ find_group_cluster_platform_kubernetes(environment: environment)
+ end
+ end
+
+ # EE would override this and utilize environment argument
+ def find_platform_kubernetes_with_cte(_environment)
+ Clusters::ClustersHierarchy.new(self).base_and_ancestors
+ .enabled.default_environment
+ .first&.platform_kubernetes
+ end
+
# EE would override this and utilize environment argument
def find_cluster_platform_kubernetes(environment: nil)
clusters.enabled.default_environment
diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb
index 299e413321d..952de92cae1 100644
--- a/app/models/concerns/issuable.rb
+++ b/app/models/concerns/issuable.rb
@@ -168,7 +168,7 @@ module Issuable
# matched_columns - Modify the scope of the query. 'title', 'description' or joining them with a comma.
#
# Returns an ActiveRecord::Relation.
- def full_search(query, matched_columns: 'title,description')
+ def full_search(query, matched_columns: 'title,description', use_minimum_char_limit: true)
allowed_columns = [:title, :description]
matched_columns = matched_columns.to_s.split(',').map(&:to_sym)
matched_columns &= allowed_columns
@@ -176,7 +176,7 @@ module Issuable
# Matching title or description if the matched_columns did not contain any allowed columns.
matched_columns = [:title, :description] if matched_columns.empty?
- fuzzy_search(query, matched_columns)
+ fuzzy_search(query, matched_columns, use_minimum_char_limit: use_minimum_char_limit)
end
def simple_sorts
diff --git a/app/models/concerns/reactive_caching.rb b/app/models/concerns/reactive_caching.rb
index 6c3962b4c4f..d91be73d6f0 100644
--- a/app/models/concerns/reactive_caching.rb
+++ b/app/models/concerns/reactive_caching.rb
@@ -173,12 +173,16 @@ module ReactiveCaching
end
def within_reactive_cache_lifetime?(*args)
- !!Rails.cache.read(alive_reactive_cache_key(*args))
+ if Feature.enabled?(:reactive_caching_check_key_exists, default_enabled: true)
+ Rails.cache.exist?(alive_reactive_cache_key(*args))
+ else
+ !!Rails.cache.read(alive_reactive_cache_key(*args))
+ end
end
def enqueuing_update(*args)
yield
- ensure
+
ReactiveCachingWorker.perform_in(self.class.reactive_cache_refresh_interval, self.class, id, *args)
end
end