summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2019-08-22 13:34:19 -0700
committerStan Hu <stanhu@gmail.com>2019-08-22 14:24:32 -0700
commit6bda359b5aaedfcdfb4b426d7428f65fee57217d (patch)
tree36333675c501c00a03179442dfe237a98bfee0d2
parent8308469fdd031a1f7baa6e95966dfc467eb5df51 (diff)
downloadgitlab-ce-6bda359b5aaedfcdfb4b426d7428f65fee57217d.tar.gz
Fix "ERR value is not an integer or out of range" errors
`ActiveSupport::Cache::RedisCacheStore` is not compatible with the version of Rack Attack we are using (v4.4.1) per https://github.com/kickstarter/rack-attack/issues/281. Users that had rate limits enabled might see `Redis::CommandError: ERR value is not an integer or out of range` because the `raw` parameter wasn't passed along properly. As a result, the Rack Attack entry would be stored as an `ActiveSupport::Cache::Entry` instead of a raw string holding an integer value. Let's partially revert the change in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/30966 to use the original cache store until we can update to Rack Attack v5.2.3 that has support for `ActiveSupport::Cache::RedisCacheStore` via https://github.com/kickstarter/rack-attack/pull/350. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/66449
-rw-r--r--changelogs/unreleased/sh-revert-redis-cache-store.yml5
-rw-r--r--config/application.rb5
2 files changed, 6 insertions, 4 deletions
diff --git a/changelogs/unreleased/sh-revert-redis-cache-store.yml b/changelogs/unreleased/sh-revert-redis-cache-store.yml
new file mode 100644
index 00000000000..710b6e7941d
--- /dev/null
+++ b/changelogs/unreleased/sh-revert-redis-cache-store.yml
@@ -0,0 +1,5 @@
+---
+title: Fix "ERR value is not an integer or out of range" errors
+merge_request: 32126
+author:
+type: fixed
diff --git a/config/application.rb b/config/application.rb
index 2554dd8cca2..294ed470298 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -241,10 +241,7 @@ module Gitlab
end
# Use caching across all environments
- # Full list of options:
- # https://api.rubyonrails.org/classes/ActiveSupport/Cache/RedisCacheStore.html#method-c-new
caching_config_hash = Gitlab::Redis::Cache.params
- caching_config_hash[:compress] = false
caching_config_hash[:namespace] = Gitlab::Redis::Cache::CACHE_NAMESPACE
caching_config_hash[:expires_in] = 2.weeks # Cache should not grow forever
if Sidekiq.server? # threaded context
@@ -252,7 +249,7 @@ module Gitlab
caching_config_hash[:pool_timeout] = 1
end
- config.cache_store = :redis_cache_store, caching_config_hash
+ config.cache_store = :redis_store, caching_config_hash
config.active_job.queue_adapter = :sidekiq