]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Fix reporting of fatal errors in redis scripts
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 12 Mar 2018 13:12:06 +0000 (13:12 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 12 Mar 2018 13:12:06 +0000 (13:12 +0000)
lualib/lua_redis.lua

index 79ea6465175ab13a1b204eacec36ecb76580183c..ee015fef23c5f3ed1ddd1c61ac6a5b24e8126cd8 100644 (file)
@@ -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