Redis cluster DEFER & test results corrected
[exim.git] / src / src / lookups / redis.c
index c36b1bda72f51603644d5e9996612c1419b08b24..e9ddf884c55572de5aa4255fee55d9249f7c8619 100644 (file)
@@ -243,17 +243,17 @@ switch (redis_reply->type)
     *errmsg = string_sprintf("REDIS: lookup result failed: %s\n", redis_reply->str);
 
     /* trap MOVED cluster responses and follow them */
-    if (Ustrncmp(redis_reply->str, "MOVED", 5))
+    if (Ustrncmp(redis_reply->str, "MOVED", 5) == 0)
       {
       DEBUG(D_lookup)
         debug_printf("REDIS: cluster redirect %s\n", redis_reply->str);
       /* follow redirect
-      This is cheating, we simply set defer_break = TRUE to move on to
+      This is cheating, we simply set defer_break = FALSE to move on to
       the next server in the redis_servers list */
-      *defer_break = TRUE;
+      *defer_break = FALSE;
       return DEFER;
       } else {
-      *defer_break = FALSE;
+      *defer_break = TRUE;
       }
     *do_cache = 0;
     goto REDIS_EXIT;