Don't sync too often it hurts perf

Former-commit-id: a20e89a457a0a682483c22f0f1cdb5c93c574d28
This commit is contained in:
John Sully 2021-05-03 04:15:46 +00:00
parent 5583fbb838
commit eaaff16cca

View File

@ -2545,6 +2545,7 @@ void rdbLoadProgressCallback(rio *r, const void *buf, size_t len) {
(r->keys_since_last_callback >= g_pserver->loading_process_events_interval_keys))) (r->keys_since_last_callback >= g_pserver->loading_process_events_interval_keys)))
{ {
rdbAsyncWorkThread *pwthread = reinterpret_cast<rdbAsyncWorkThread*>(r->chksum_arg); rdbAsyncWorkThread *pwthread = reinterpret_cast<rdbAsyncWorkThread*>(r->chksum_arg);
if (pwthread && g_pserver->fActiveReplica)
pwthread->endWork(); // We can't have the work queue modifying the database while processEventsWhileBlocked does its thing pwthread->endWork(); // We can't have the work queue modifying the database while processEventsWhileBlocked does its thing
listIter li; listIter li;
listNode *ln; listNode *ln;
@ -2564,6 +2565,7 @@ void rdbLoadProgressCallback(rio *r, const void *buf, size_t len) {
ping_argv[0] = createStringObject("PING",4); ping_argv[0] = createStringObject("PING",4);
replicationFeedSlaves(g_pserver->slaves, g_pserver->replicaseldb, ping_argv, 1); replicationFeedSlaves(g_pserver->slaves, g_pserver->replicaseldb, ping_argv, 1);
decrRefCount(ping_argv[0]); decrRefCount(ping_argv[0]);
if (pwthread && g_pserver->fActiveReplica)
pwthread->start(); pwthread->start();
r->keys_since_last_callback = 0; r->keys_since_last_callback = 0;