diff --git a/Gemfile.lock b/Gemfile.lock
index 18637eae1a654c26e7ed9fe85c7df6150cda0b5f_R2VtZmlsZS5sb2Nr..7549741442477a6ad6f9581b16f11d3b2a05ffe5_R2VtZmlsZS5sb2Nr 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -107,10 +107,9 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    abstract_type (0.0.7)
     activesupport (6.1.3.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
       zeitwerk (~> 2.3)
@@ -111,12 +110,9 @@
     activesupport (6.1.3.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
       tzinfo (~> 2.0)
       zeitwerk (~> 2.3)
-    adamantium (0.2.0)
-      ice_nine (~> 0.11.0)
-      memoizable (~> 0.4.0)
     addressable (2.8.1)
       public_suffix (>= 2.0.2, < 6.0)
     ast (2.4.2)
@@ -146,7 +142,8 @@
       aws-sigv4 (~> 1.1)
     aws-sigv4 (1.5.0)
       aws-eventstream (~> 1, >= 1.0.2)
-    binding_ninja (0.2.3)
+    binding_of_caller (1.0.0)
+      debug_inspector (>= 0.0.1)
     builder (3.2.4)
     chef-cleanroom (1.0.5)
     chef-telemetry (1.1.1)
@@ -166,9 +163,6 @@
       open4 (~> 1.3)
     coderay (1.1.3)
     colored2 (3.1.2)
-    concord (0.1.5)
-      adamantium (~> 0.2.0)
-      equalizer (~> 0.0.9)
     concurrent-ruby (1.1.8)
     contracts (0.16.1)
     cookbook-omnifetch (0.11.1)
@@ -196,6 +190,7 @@
     debug (1.6.1)
       irb (>= 1.3.6)
       reline (>= 0.3.1)
+    debug_inspector (1.1.0)
     diff-lcs (1.3)
     docile (1.4.0)
     docker-api (2.0.0)
@@ -203,7 +198,6 @@
       multi_json
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
-    equalizer (0.0.11)
     erubi (1.11.0)
     erubis (2.7.0)
     excon (0.76.0)
@@ -276,7 +270,6 @@
     httpclient (2.8.3)
     i18n (1.8.10)
       concurrent-ruby (~> 1.0)
-    ice_nine (0.11.2)
     iniparse (1.5.0)
     io-console (0.5.11)
     iostruct (0.0.4)
@@ -305,8 +298,6 @@
     logging (2.3.0)
       little-plugger (~> 1.1)
       multi_json (~> 1.14)
-    memoizable (0.4.2)
-      thread_safe (~> 0.3, >= 0.3.1)
     method_source (1.0.0)
     mime-types (3.3.1)
       mime-types-data (~> 3.2015)
@@ -360,7 +351,7 @@
       rest-client (~> 2.0)
       thor (~> 1.2)
     parallel (1.19.2)
-    parser (3.1.2.1)
+    parser (3.2.2.1)
       ast (~> 2.4.1)
     parslet (1.8.2)
     pastel (0.8.0)
@@ -376,7 +367,6 @@
       coderay
       parser
       unparser
-    procto (0.0.3)
     proxifier (1.0.3)
     pry (0.14.1)
       coderay (~> 1.1)
@@ -412,9 +402,11 @@
     rspec-mocks (3.11.2)
       diff-lcs (>= 1.2.0, < 2.0)
       rspec-support (~> 3.11.0)
-    rspec-parameterized (0.4.2)
-      binding_ninja (>= 0.2.3)
+    rspec-parameterized (1.0.0)
+      rspec-parameterized-core (< 2)
+      rspec-parameterized-table_syntax (< 2)
+    rspec-parameterized-core (1.0.0)
       parser
       proc_to_ast
       rspec (>= 2.13, < 4)
       unparser
@@ -417,7 +409,10 @@
       parser
       proc_to_ast
       rspec (>= 2.13, < 4)
       unparser
+    rspec-parameterized-table_syntax (1.0.0)
+      binding_of_caller
+      rspec-parameterized-core (< 2)
     rspec-support (3.11.1)
     rspec_junit_formatter (0.4.1)
       rspec-core (>= 2, < 4, != 2.12.0)
@@ -476,7 +471,6 @@
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
     thor (1.2.1)
-    thread_safe (0.3.6)
     toml-rb (2.2.0)
       citrus (~> 3.0, > 3.0)
     tomlib (0.5.0)
@@ -516,8 +510,5 @@
       unf_ext
     unicode-display_width (1.8.0)
     unicode_utils (1.4.0)
-    unparser (0.4.7)
-      abstract_type (~> 0.0.7)
-      adamantium (~> 0.2.0)
-      concord (~> 0.1.5)
+    unparser (0.6.7)
       diff-lcs (~> 1.3)
@@ -523,7 +514,5 @@
       diff-lcs (~> 1.3)
-      equalizer (~> 0.0.9)
-      parser (>= 2.6.5)
-      procto (~> 0.0.2)
+      parser (>= 3.2.0)
     uuidtools (2.2.0)
     vault (0.16.0)
       aws-sigv4
diff --git a/files/gitlab-cookbooks/gitlab/libraries/redis_uri.rb b/files/gitlab-cookbooks/gitlab/libraries/redis_uri.rb
index 18637eae1a654c26e7ed9fe85c7df6150cda0b5f_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvbGlicmFyaWVzL3JlZGlzX3VyaS5yYg==..7549741442477a6ad6f9581b16f11d3b2a05ffe5_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvbGlicmFyaWVzL3JlZGlzX3VyaS5yYg== 100644
--- a/files/gitlab-cookbooks/gitlab/libraries/redis_uri.rb
+++ b/files/gitlab-cookbooks/gitlab/libraries/redis_uri.rb
@@ -26,7 +26,12 @@
     # Include this class as the handler for 'redis' and 'rediss' schemes
     # This allows URI('redis://') or URI('rediss://') to delegate to this class
     %w(REDIS REDISS).each do |scheme|
-      @@schemes[scheme] = Redis
+      # https://github.com/ruby/uri/pull/26 modified how schemes are registered.
+      if Gem::Version.new(URI::VERSION) >= Gem::Version.new('0.11.0')
+        ::URI.register_scheme scheme, Redis
+      else
+        @@schemes[scheme] = Redis
+      end
     end
 
     def self.build(args)