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
This commit is contained in:
parent
8308469fdd
commit
6bda359b5a
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Fix "ERR value is not an integer or out of range" errors
|
||||
merge_request: 32126
|
||||
author:
|
||||
type: fixed
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue