redis-rb/redis-client

ArgumentError(unknown keyword: :scheme)

Closed this issue ยท 4 comments

Hi there!

I've update redis gem to 5.0.6 and now I get this error :

[2023-04-28T02:49:46.180956 #66989 #] ERROR [] - concerto.puma: There was an exception - ArgumentError(unknown keyword: :scheme)
[2023-04-28T02:49:46.182350 #66989 #] ERROR [] - concerto.puma: /Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-client-0.14.1/lib/redis_client/config.rb:21:in `initialize'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-client-0.14.1/lib/redis_client/config.rb:184:in `initialize'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-client-0.14.1/lib/redis_client.rb:143:in `new'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-client-0.14.1/lib/redis_client.rb:143:in `config'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-5.0.6/lib/redis/client.rb:23:in `config'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-5.0.6/lib/redis.rb:157:in `initialize_client'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-5.0.6/lib/redis.rb:73:in `initialize'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-store-1.9.2/lib/redis/store.rb:17:in `initialize'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-store-1.9.2/lib/redis/store/factory.rb:26:in `new'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-store-1.9.2/lib/redis/store/factory.rb:26:in `create'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-store-1.9.2/lib/redis/store/factory.rb:9:in `create'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-rack-2.1.4/lib/redis/rack/connection.rb:39:in `store'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-rack-2.1.4/lib/redis/rack/connection.rb:24:in `with'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-rack-2.1.4/lib/rack/session/redis.rb:82:in `with'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-rack-2.1.4/lib/rack/session/redis.rb:88:in `get_session_with_fallback'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-rack-2.1.4/lib/rack/session/redis.rb:38:in `block in find_session'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-rack-2.1.4/lib/rack/session/redis.rb:70:in `with_lock'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/redis-rack-2.1.4/lib/rack/session/redis.rb:37:in `find_session'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb:314:in `load_session'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/session/abstract_store.rb:45:in `block in load_session'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/session/abstract_store.rb:53:in `stale_session_check!'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actionpack-7.0.4.3/lib/action_dispatch/middleware/session/abstract_store.rb:45:in `load_session'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actionpack-7.0.4.3/lib/action_dispatch/request/session.rb:263:in `load!'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actionpack-7.0.4.3/lib/action_dispatch/request/session.rb:246:in `load_for_read!'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actionpack-7.0.4.3/lib/action_dispatch/request/session.rb:111:in `[]'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/warden-1.2.9/lib/warden/session_serializer.rb:31:in `fetch'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/warden-1.2.9/lib/warden/proxy.rb:224:in `user'
/Users/nicolas/PROJECTS/CONCERTO/concerto/app/channels/application_cable/connection.rb:15:in `block in find_verified_user'
/Users/nicolas/PROJECTS/CONCERTO/concerto/app/channels/application_cable/connection.rb:14:in `catch'
/Users/nicolas/PROJECTS/CONCERTO/concerto/app/channels/application_cable/connection.rb:14:in `find_verified_user'
/Users/nicolas/PROJECTS/CONCERTO/concerto/app/channels/application_cable/connection.rb:8:in `connect'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actioncable-7.0.4.3/lib/action_cable/connection/base.rb:173:in `handle_open'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/sentry-rails-5.9.0/lib/sentry/rails/action_cable.rb:58:in `block in handle_open'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/sentry-rails-5.9.0/lib/sentry/rails/action_cable.rb:23:in `block in capture'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/sentry-ruby-5.9.0/lib/sentry/hub.rb:59:in `with_scope'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/sentry-ruby-5.9.0/lib/sentry-ruby.rb:365:in `with_scope'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/sentry-rails-5.9.0/lib/sentry/rails/action_cable.rb:15:in `capture'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/sentry-rails-5.9.0/lib/sentry/rails/action_cable.rb:57:in `handle_open'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actioncable-7.0.4.3/lib/action_cable/server/worker.rb:59:in `block in invoke'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/tagged_logging.rb:99:in `block in tagged'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/tagged_logging.rb:37:in `tagged'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/tagged_logging.rb:99:in `tagged'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actioncable-7.0.4.3/lib/action_cable/connection/tagged_logger_proxy.rb:24:in `tag'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actioncable-7.0.4.3/lib/action_cable/server/worker/active_record_connection_management.rb:16:in `with_database_connections'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actioncable-7.0.4.3/lib/action_cable/engine.rb:71:in `block (4 levels) in <class:Engine>'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/execution_wrapper.rb:92:in `wrap'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actioncable-7.0.4.3/lib/action_cable/engine.rb:66:in `block (3 levels) in <class:Engine>'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:127:in `instance_exec'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:127:in `block in run_callbacks'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-7.0.4.3/lib/active_support/callbacks.rb:138:in `run_callbacks'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actioncable-7.0.4.3/lib/action_cable/server/worker.rb:42:in `work'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actioncable-7.0.4.3/lib/action_cable/server/worker.rb:58:in `invoke'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/actioncable-7.0.4.3/lib/action_cable/server/worker.rb:53:in `block in async_invoke'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:352:in `run_task'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:343:in `block (3 levels) in create_worker'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `loop'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:334:in `block (2 levels) in create_worker'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:333:in `catch'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:333:in `block in create_worker'
/Users/nicolas/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/logging-c6fd5e23f07d/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'

Yes it was removed in redis-rb 5.x, just use ssl: true/false instead.

Yes it was removed in redis-rb 5.x, just use ssl: true/false instead.

Without deprecation cycle?

Gems that depend on redis are also broken : redis-store/redis-store#358 (comment)

I tought we could handle the deprecation (around) here : https://github.com/redis-rb/redis-client/blob/master/lib/redis_client/config.rb#L170 (before super) but it might be a bit late.