Commit 57b07380 authored by Pieter Noordhuis's avatar Pieter Noordhuis
Browse files

Don't build a reply when replaying the AOF

parent b301c1fc
...@@ -272,12 +272,14 @@ int loadAppendOnlyFile(char *filename) { ...@@ -272,12 +272,14 @@ int loadAppendOnlyFile(char *filename) {
fakeClient->argc = argc; fakeClient->argc = argc;
fakeClient->argv = argv; fakeClient->argv = argv;
cmd->proc(fakeClient); cmd->proc(fakeClient);
/* Discard the reply objects list from the fake client */
while(listLength(fakeClient->reply)) /* The fake client should not have a reply */
listDelNode(fakeClient->reply,listFirst(fakeClient->reply)); redisAssert(fakeClient->bufpos == 0 && listLength(fakeClient->reply) == 0);
/* Clean up, ready for the next command */ /* Clean up, ready for the next command */
for (j = 0; j < argc; j++) decrRefCount(argv[j]); for (j = 0; j < argc; j++) decrRefCount(argv[j]);
zfree(argv); zfree(argv);
/* Handle swapping while loading big datasets when VM is on */ /* Handle swapping while loading big datasets when VM is on */
force_swapout = 0; force_swapout = 0;
if ((zmalloc_used_memory() - server.vm_max_memory) > 1024*1024*32) if ((zmalloc_used_memory() - server.vm_max_memory) > 1024*1024*32)
......
...@@ -62,6 +62,7 @@ redisClient *createClient(int fd) { ...@@ -62,6 +62,7 @@ redisClient *createClient(int fd) {
} }
int _ensureFileEvent(redisClient *c) { int _ensureFileEvent(redisClient *c) {
if (c->fd <= 0) return REDIS_ERR;
if (c->bufpos == 0 && listLength(c->reply) == 0 && if (c->bufpos == 0 && listLength(c->reply) == 0 &&
(c->replstate == REDIS_REPL_NONE || (c->replstate == REDIS_REPL_NONE ||
c->replstate == REDIS_REPL_ONLINE) && c->replstate == REDIS_REPL_ONLINE) &&
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment