From: Cursor Agent Date: Wed, 29 Oct 2025 13:14:54 +0000 (+0000) Subject: Refactor: Improve Redis server discovery for Bayes X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F5714%2Fhead;p=thirdparty%2Frspamd.git Refactor: Improve Redis server discovery for Bayes Co-authored-by: v --- diff --git a/lualib/rspamadm/statistics_dump.lua b/lualib/rspamadm/statistics_dump.lua index 6a08d11fde..e727c739f7 100644 --- a/lualib/rspamadm/statistics_dump.lua +++ b/lualib/rspamadm/statistics_dump.lua @@ -150,16 +150,23 @@ local function check_redis_classifier(cls, cfg) end local redis_params + -- Try load from classifier config redis_params = lua_redis.try_load_redis_servers(cls, rspamd_config, false, 'bayes') if not redis_params then + -- Try load from statistics_dump module config redis_params = lua_redis.try_load_redis_servers(cfg[N] or E, rspamd_config, false, 'bayes') if not redis_params then redis_params = lua_redis.try_load_redis_servers(cfg[N] or E, rspamd_config, true) if not redis_params then - return false + -- Try load from global redis config + redis_params = lua_redis.try_load_redis_servers(rspamd_config:get_all_opt('redis'), + rspamd_config, true) + if not redis_params then + return false + end end end end diff --git a/src/plugins/lua/bayes_expiry.lua b/src/plugins/lua/bayes_expiry.lua index 0d78f22725..69b0f93266 100644 --- a/src/plugins/lua/bayes_expiry.lua +++ b/src/plugins/lua/bayes_expiry.lua @@ -101,13 +101,21 @@ local function check_redis_classifier(cls, cfg) -- Now try to load redis_params if needed local redis_params + -- Try load from classifier config redis_params = lredis.try_load_redis_servers(cls, rspamd_config, false, 'bayes') if not redis_params then + -- Try load from bayes_expiry module config redis_params = lredis.try_load_redis_servers(cfg[N] or E, rspamd_config, false, 'bayes') if not redis_params then redis_params = lredis.try_load_redis_servers(cfg[N] or E, rspamd_config, true) if not redis_params then - return false + -- Try load from global redis config + redis_params = lredis.try_load_redis_servers(rspamd_config:get_all_opt('redis'), rspamd_config, true) + if not redis_params then + logger.debugm(N, rspamd_config, + 'disable expiry for classifier: cannot load redis parameters') + return false + end end end end