mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 09:00:51 +00:00
Prevent RDB autosave from overwriting full resync results
During the full database resync we may still have unsaved changes on the receiving side. This causes a race condition between synced data rename/load and the rename of rdbSave tempfile.
This commit is contained in:
parent
0d6f11f4d1
commit
98a64523c4
@ -1814,6 +1814,13 @@ void syncWithMaster(aeEventLoop *el, int fd, void *privdata, int mask) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Stop background saving for obsolete database state. */
|
||||||
|
server.dirty = 0;
|
||||||
|
if (server.rdb_child_pid != -1) {
|
||||||
|
kill(server.rdb_child_pid,SIGUSR1);
|
||||||
|
rdbRemoveTempFile(server.rdb_child_pid);
|
||||||
|
}
|
||||||
|
|
||||||
/* Prepare a suitable temp file for bulk transfer */
|
/* Prepare a suitable temp file for bulk transfer */
|
||||||
while(maxtries--) {
|
while(maxtries--) {
|
||||||
snprintf(tmpfile,256,
|
snprintf(tmpfile,256,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user