-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
5.0
-
MOODLE_500_STABLE
-
MDL-85336-redis-read-timeout
-
-
-
Redis connection timeout was made configurable as part of MDL-83753 but the same value is used in the redis connection as both the timeout and readtimeout.
We've ran into a use case where we would like to increase the readtimeout without increasing the connection timeout, so I'm proposing that this should be split into two separate config values. As an analogy, the config-dist database timeout is 2 seconds, but a random reporting query might take minutes and that is ok.
For example running a standard upgrade on a heavily used site can fail to purge caches.
php admin/cli/upgrade.php --non-interactive
Default exception handler: Exception - read error on connection to envoy:6379 Debug:
Error code: generalexceptionmessage
- line 599 of /cache/stores/redis/lib.php: RedisException thrown
- line 599 of /cache/stores/redis/lib.php: call to Redis->del()
- line 584 of /cache/classes/helper.php: call to cachestore_redis->purge()
- line 540 of /cache/classes/helper.php: call to core_cache\helper::purge_store()
- line 265 of /admin/cli/upgrade.php: call to core_cache\helper::purge_all()
The connection command accepts floats for both timeouts, so this should also be changed to allow for more specific configurations https://github.com/phpredis/phpredis?tab=readme-ov-file#parameters
- has a non-specific relationship to
-
MDL-82511 cache_cron_task causes a failover on redis/sentinel clusters
-
- Waiting for integration review
-