Loading
feat: require Redis pool with .with interface
feat: require Redis pool with .with interface
The Evaluator now expects the configured Redis object to respond
to .with { |conn| }, wrapping all Redis operations in a single
pool checkout. This ensures proper connection pool usage under
Puma's multi-threaded workers.
Previously the evaluator called .incr and .expire directly on
the redis object, which does not work with connection pool wrappers
like Gitlab::Redis::RateLimiting that require .with for pool
checkout.
A PooledRedis test helper wraps instance_double(Redis) and
FakeRedis with a .with interface for specs. All test files
updated to use raw_redis / fake_redis for the underlying
client and redis for the pool wrapper.