summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2020-06-09 11:52:33 +0200
committerantirez <antirez@gmail.com>2020-06-09 11:52:33 +0200
commitcdad0e6485d108f2bf330ae2e8ae5fa7ef158ec1 (patch)
tree2bcd34f97bc290293220b0f963100b8d823c54a0
parent48b2915c185ee8737eb93b09610c4e784235dabe (diff)
downloadredis-cdad0e6485d108f2bf330ae2e8ae5fa7ef158ec1.tar.gz
Temporary fix for #7353 issue about EVAL during -BUSY.
-rw-r--r--src/multi.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/multi.c b/src/multi.c
index 3e606fcec..60a07dfc7 100644
--- a/src/multi.c
+++ b/src/multi.c
@@ -135,6 +135,15 @@ void execCommand(client *c) {
return;
}
+ /* If we are in -BUSY state, flag the transaction and return the
+ * -BUSY error, like Redis <= 5. This is a temporary fix, may be changed
+ * ASAP, see issue #7353 on Github. */
+ if (server.lua_timedout) {
+ flagTransaction(c);
+ addReply(c, shared.slowscripterr);
+ return;
+ }
+
/* Check if we need to abort the EXEC because:
* 1) Some WATCHed key was touched.
* 2) There was a previous error while queueing commands.