Merge pull request #5367 from nUl1/fullresync-stopbgsave

Prevent RDB autosave from overwriting full resync results
This commit is contained in:
Salvatore Sanfilippo 2018-10-31 11:42:04 +01:00 committed by GitHub
commit 6204d8c139
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1245,6 +1245,12 @@ void readSyncBulkPayload(aeEventLoop *el, int fd, void *privdata, int mask) {
if (eof_reached) {
int aof_is_enabled = server.aof_state != AOF_OFF;
/* Ensure background save doesn't overwrite synced data */
if (server.rdb_child_pid != -1) {
kill(server.rdb_child_pid,SIGUSR1);
rdbRemoveTempFile(server.rdb_child_pid);
}
if (rename(server.repl_transfer_tmpfile,server.rdb_filename) == -1) {
serverLog(LL_WARNING,"Failed trying to rename the temp DB into dump.rdb in MASTER <-> REPLICA synchronization: %s", strerror(errno));
cancelReplicationHandshake();