reduce repeated calls to use_diskless_load

this function possibly iterates on the module list
This commit is contained in:
Oran Agra 2020-02-06 09:41:45 +02:00
parent 44ac202fbf
commit 485d5d4a18

View File

@ -1354,7 +1354,7 @@ void disklessLoadRestoreBackups(redisDb *backup, int restore, int empty_db_flags
void readSyncBulkPayload(connection *conn) { void readSyncBulkPayload(connection *conn) {
char buf[4096]; char buf[4096];
ssize_t nread, readlen, nwritten; ssize_t nread, readlen, nwritten;
int use_diskless_load; int use_diskless_load = useDisklessLoad();
redisDb *diskless_load_backup = NULL; redisDb *diskless_load_backup = NULL;
int empty_db_flags = server.repl_slave_lazy_flush ? EMPTYDB_ASYNC : int empty_db_flags = server.repl_slave_lazy_flush ? EMPTYDB_ASYNC :
EMPTYDB_NO_FLAGS; EMPTYDB_NO_FLAGS;
@ -1411,19 +1411,18 @@ void readSyncBulkPayload(connection *conn) {
server.repl_transfer_size = 0; server.repl_transfer_size = 0;
serverLog(LL_NOTICE, serverLog(LL_NOTICE,
"MASTER <-> REPLICA sync: receiving streamed RDB from master with EOF %s", "MASTER <-> REPLICA sync: receiving streamed RDB from master with EOF %s",
useDisklessLoad()? "to parser":"to disk"); use_diskless_load? "to parser":"to disk");
} else { } else {
usemark = 0; usemark = 0;
server.repl_transfer_size = strtol(buf+1,NULL,10); server.repl_transfer_size = strtol(buf+1,NULL,10);
serverLog(LL_NOTICE, serverLog(LL_NOTICE,
"MASTER <-> REPLICA sync: receiving %lld bytes from master %s", "MASTER <-> REPLICA sync: receiving %lld bytes from master %s",
(long long) server.repl_transfer_size, (long long) server.repl_transfer_size,
useDisklessLoad()? "to parser":"to disk"); use_diskless_load? "to parser":"to disk");
} }
return; return;
} }
use_diskless_load = useDisklessLoad();
if (!use_diskless_load) { if (!use_diskless_load) {
/* Read the data from the socket, store it to a file and search /* Read the data from the socket, store it to a file and search
* for the EOF. */ * for the EOF. */