Canvas just updated the gem it uses to communicate with Redis (
https://github.com/instructure/canvas-lms/commit/88a580398217fabeadfa98bc3a7662d71979ed24). This will be in the 2023-11-08 release. As part of this, some long-deprecated configuration options have been removed. If you have `servers` in your redis.yml, cache_store.yml, dynamic_settings.yml, or ha_store.yml in Consul, you should replace it with `url` (which still accepts a single element, or an array of urls). If you use `db` or `database`, you should just append that to the URL instead. You also likely want to add the `connect_timeout` and `circuit_breaker` options. See the changes in the example redis config at
https://github.com/instructure/canvas-lms/blob/master/config/redis.yml.example. All of these options are either fully backwards compatible, or are ignored by the old gem, so you can apply the new config immediately to your production environment before the new code gets there. If you neglect to update your config, you'll see an error like "
lib/redis_client/config.rb:21:in `initialize': unknown keyword: :servers (ArgumentError)" or "lib/redis_client/config.rb:21:in `initialize': unknown keyword: :database (ArgumentError)".
Cody Cutrer
Software Engineer
Instructure