From f1a6f4333a75f5bc186334f7f43a26e969cd712d Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Wed, 21 May 2025 11:20:17 -0400 Subject: [PATCH] Remove `redis-namespace` gem (#34742) --- Gemfile | 1 - Gemfile.lock | 3 --- .../dimension/software_versions_dimension.rb | 6 +----- .../metrics/dimension/space_usage_dimension.rb | 6 +----- app/lib/redis_connection.rb | 7 +------ config/application.rb | 1 - lib/redis/namespace_extensions.rb | 16 ---------------- .../authorized_applications_controller_spec.rb | 2 +- spec/models/user_spec.rb | 2 +- spec/system/settings/applications_spec.rb | 2 +- 10 files changed, 6 insertions(+), 40 deletions(-) delete mode 100644 lib/redis/namespace_extensions.rb diff --git a/Gemfile b/Gemfile index e2d1a66751..126d1bebbd 100644 --- a/Gemfile +++ b/Gemfile @@ -78,7 +78,6 @@ gem 'rack-cors', '~> 2.0', require: 'rack/cors' gem 'rails-i18n', '~> 8.0' gem 'redcarpet', '~> 3.6' gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis'] -gem 'redis-namespace', '~> 1.10' gem 'rqrcode', '~> 3.0' gem 'ruby-progressbar', '~> 1.13' gem 'sanitize', '~> 7.0' diff --git a/Gemfile.lock b/Gemfile.lock index 0f22fe4368..d47d6ab91b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -696,8 +696,6 @@ GEM psych (>= 4.0.0) redcarpet (3.6.1) redis (4.8.1) - redis-namespace (1.11.0) - redis (>= 4) redlock (1.3.2) redis (>= 3.0.0, < 6.0) regexp_parser (2.10.0) @@ -1046,7 +1044,6 @@ DEPENDENCIES rdf-normalize (~> 0.5) redcarpet (~> 3.6) redis (~> 4.5) - redis-namespace (~> 1.10) rqrcode (~> 3.0) rspec-github (~> 3.0) rspec-rails (~> 8.0) diff --git a/app/lib/admin/metrics/dimension/software_versions_dimension.rb b/app/lib/admin/metrics/dimension/software_versions_dimension.rb index 84ffc41d74..91ab4f836d 100644 --- a/app/lib/admin/metrics/dimension/software_versions_dimension.rb +++ b/app/lib/admin/metrics/dimension/software_versions_dimension.rb @@ -119,10 +119,6 @@ class Admin::Metrics::Dimension::SoftwareVersionsDimension < Admin::Metrics::Dim end def redis_info - @redis_info ||= if redis.is_a?(Redis::Namespace) - redis.redis.info - else - redis.info - end + @redis_info ||= redis.info end end diff --git a/app/lib/admin/metrics/dimension/space_usage_dimension.rb b/app/lib/admin/metrics/dimension/space_usage_dimension.rb index 0d3fd8db33..3fd8d86856 100644 --- a/app/lib/admin/metrics/dimension/space_usage_dimension.rb +++ b/app/lib/admin/metrics/dimension/space_usage_dimension.rb @@ -58,11 +58,7 @@ class Admin::Metrics::Dimension::SpaceUsageDimension < Admin::Metrics::Dimension end def redis_info - @redis_info ||= if redis.is_a?(Redis::Namespace) - redis.redis.info - else - redis.info - end + @redis_info ||= redis.info end def search_size diff --git a/app/lib/redis_connection.rb b/app/lib/redis_connection.rb index 24e376e6a5..cbbd7e5a7a 100644 --- a/app/lib/redis_connection.rb +++ b/app/lib/redis_connection.rb @@ -29,12 +29,7 @@ class RedisConnection end def connection - namespace = config[:namespace] - if namespace.present? - Redis::Namespace.new(namespace, redis: raw_connection) - else - raw_connection - end + raw_connection end private diff --git a/config/application.rb b/config/application.rb index 0939455ab9..675a3c0c19 100644 --- a/config/application.rb +++ b/config/application.rb @@ -24,7 +24,6 @@ Bundler.require(*Rails.groups) require_relative '../lib/exceptions' require_relative '../lib/sanitize_ext/sanitize_config' -require_relative '../lib/redis/namespace_extensions' require_relative '../lib/paperclip/url_generator_extensions' require_relative '../lib/paperclip/attachment_extensions' diff --git a/lib/redis/namespace_extensions.rb b/lib/redis/namespace_extensions.rb deleted file mode 100644 index 2be738b04d..0000000000 --- a/lib/redis/namespace_extensions.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -class Redis - module NamespaceExtensions - def exists?(...) - call_with_namespace('exists?', ...) - end - - def with - yield self - end - end -end - -Redis::Namespace::COMMANDS['exists?'] = [:first] -Redis::Namespace.prepend(Redis::NamespaceExtensions) diff --git a/spec/controllers/oauth/authorized_applications_controller_spec.rb b/spec/controllers/oauth/authorized_applications_controller_spec.rb index 1cf0984abe..60f9602136 100644 --- a/spec/controllers/oauth/authorized_applications_controller_spec.rb +++ b/spec/controllers/oauth/authorized_applications_controller_spec.rb @@ -43,7 +43,7 @@ RSpec.describe Oauth::AuthorizedApplicationsController do let!(:application) { Fabricate(:application) } let!(:access_token) { Fabricate(:accessible_access_token, application: application, resource_owner_id: user.id) } let!(:web_push_subscription) { Fabricate(:web_push_subscription, user: user, access_token: access_token) } - let(:redis_pipeline_stub) { instance_double(Redis::Namespace, publish: nil) } + let(:redis_pipeline_stub) { instance_double(Redis::PipelinedConnection, publish: nil) } before do sign_in user, scope: :user diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 914f1ee193..a13b27b0cb 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -478,7 +478,7 @@ RSpec.describe User do let!(:access_token) { Fabricate(:access_token, resource_owner_id: user.id) } let!(:web_push_subscription) { Fabricate(:web_push_subscription, access_token: access_token) } - let(:redis_pipeline_stub) { instance_double(Redis::Namespace, publish: nil) } + let(:redis_pipeline_stub) { instance_double(Redis::PipelinedConnection, publish: nil) } before { stub_redis } diff --git a/spec/system/settings/applications_spec.rb b/spec/system/settings/applications_spec.rb index 5a8c97dd1e..a97d5d8aab 100644 --- a/spec/system/settings/applications_spec.rb +++ b/spec/system/settings/applications_spec.rb @@ -101,7 +101,7 @@ RSpec.describe 'Settings applications page' do end describe 'Destroying an application' do - let(:redis_pipeline_stub) { instance_double(Redis::Namespace, publish: nil) } + let(:redis_pipeline_stub) { instance_double(Redis::PipelinedConnection, publish: nil) } let!(:access_token) { Fabricate(:accessible_access_token, application: application) } before { stub_redis_pipeline }