From 6bda359b5aaedfcdfb4b426d7428f65fee57217d Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Thu, 22 Aug 2019 13:34:19 -0700 Subject: [PATCH] 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 --- changelogs/unreleased/sh-revert-redis-cache-store.yml | 5 +++++ config/application.rb | 5 +---- 2 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 changelogs/unreleased/sh-revert-redis-cache-store.yml 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