summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/aof.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/aof.c b/src/aof.c
index be416ec4e..f8f26bdfe 100644
--- a/src/aof.c
+++ b/src/aof.c
@@ -798,7 +798,9 @@ int loadAppendOnlyFile(char *filename) {
}
/* This point can only be reached when EOF is reached without errors.
- * If the client is in the middle of a MULTI/EXEC, log error and quit. */
+ * If the client is in the middle of a MULTI/EXEC, handle it as it was
+ * a short read, even if technically the protocol is correct: we want
+ * to remove the unprocessed tail and continue. */
if (fakeClient->flags & CLIENT_MULTI) goto uxeof;
loaded_ok: /* DB loaded, cleanup and return C_OK to the caller. */