From: Vsevolod Stakhov Date: Mon, 12 Mar 2018 13:12:06 +0000 (+0000) Subject: [Minor] Fix reporting of fatal errors in redis scripts X-Git-Tag: 1.7.0~8 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=329704079122e929867fc4a9e32ff3e10a64182b;p=rspamd.git [Minor] Fix reporting of fatal errors in redis scripts --- diff --git a/lualib/lua_redis.lua b/lualib/lua_redis.lua index 79ea64651..ee015fef2 100644 --- a/lualib/lua_redis.lua +++ b/lualib/lua_redis.lua @@ -750,6 +750,7 @@ local function load_script_task(script, task) logger.errx(task, 'cannot upload script to %s: %s', opt.upstream:get_addr(), err) opt.upstream:fail() + script.fatal_error = err else opt.upstream:ok() logger.infox(task, @@ -791,6 +792,7 @@ local function load_script_taskless(script, cfg, ev_base) logger.errx(cfg, 'cannot upload script to %s: %s', opt.upstream:get_addr(), err) opt.upstream:fail() + script.fatal_error = err else opt.upstream:ok() logger.infox(cfg, @@ -853,7 +855,14 @@ local function exec_redis_script(id, params, callback, keys, args) return false end + local script = redis_scripts[id] + + if script.fatal_error then + callback(script.fatal_error, nil) + return true + end + if not script.redis_params then callback('no redis servers defined', nil) return true