From 286e6939cca3435f27e10b78a6be890c5c4d3aba Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 29 Oct 2025 13:14:54 +0000 Subject: [PATCH] Refactor: Improve Redis server discovery for Bayes Co-authored-by: v --- lualib/rspamadm/statistics_dump.lua | 9 ++++++++- src/plugins/lua/bayes_expiry.lua | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) 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 -- 2.47.3