mirror of
https://github.com/fluencelabs/redis
synced 2025-03-30 22:31:03 +00:00
Fix for bug 374, thanks to Jeremy Zawodny for reporting and tracing why it was crashing.
This commit is contained in:
parent
0c2f75c6d8
commit
9fd01051bf
@ -366,13 +366,17 @@ void readSyncBulkPayload(aeEventLoop *el, int fd, void *privdata, int mask) {
|
|||||||
}
|
}
|
||||||
redisLog(REDIS_NOTICE, "MASTER <-> SLAVE sync: Loading DB in memory");
|
redisLog(REDIS_NOTICE, "MASTER <-> SLAVE sync: Loading DB in memory");
|
||||||
emptyDb();
|
emptyDb();
|
||||||
|
/* Before loading the DB into memory we need to delete the readable
|
||||||
|
* handler, otherwise it will get called recursively since
|
||||||
|
* rdbLoad() will call the event loop to process events from time to
|
||||||
|
* time for non blocking loading. */
|
||||||
|
aeDeleteFileEvent(server.el,server.repl_transfer_s,AE_READABLE);
|
||||||
if (rdbLoad(server.dbfilename) != REDIS_OK) {
|
if (rdbLoad(server.dbfilename) != REDIS_OK) {
|
||||||
redisLog(REDIS_WARNING,"Failed trying to load the MASTER synchronization DB from disk");
|
redisLog(REDIS_WARNING,"Failed trying to load the MASTER synchronization DB from disk");
|
||||||
replicationAbortSyncTransfer();
|
replicationAbortSyncTransfer();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/* Final setup of the connected slave <- master link */
|
/* Final setup of the connected slave <- master link */
|
||||||
aeDeleteFileEvent(server.el,server.repl_transfer_s,AE_READABLE);
|
|
||||||
zfree(server.repl_transfer_tmpfile);
|
zfree(server.repl_transfer_tmpfile);
|
||||||
close(server.repl_transfer_fd);
|
close(server.repl_transfer_fd);
|
||||||
server.master = createClient(server.repl_transfer_s);
|
server.master = createClient(server.repl_transfer_s);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user