From 24fbc46352fbcd4015f15fb28887b78da5c91a41 Mon Sep 17 00:00:00 2001 From: John Sully Date: Wed, 10 Nov 2021 06:40:43 +0000 Subject: [PATCH] Prevent track changes from clearing out the cache and misreporting the key count Former-commit-id: d7ceb59f11bc714e40f208cb8c774a5b762ad41e --- src/replication.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/replication.cpp b/src/replication.cpp index d8ffcca99..6cfe7d3ba 100644 --- a/src/replication.cpp +++ b/src/replication.cpp @@ -2335,6 +2335,13 @@ bool readSnapshotBulkPayload(connection *conn, redisMaster *mi, rdbSaveInfo &rsi EMPTYDB_NO_FLAGS; serverLog(LL_NOTICE, "MASTER <-> REPLICA sync: Flushing old data"); emptyDb(-1,empty_db_flags,replicationEmptyDbCallback); + for (int idb = 0; idb < cserver.dbnum; ++idb) { + aeAcquireLock(); + g_pserver->db[idb]->processChanges(false); + aeReleaseLock(); + g_pserver->db[idb]->commitChanges(); + g_pserver->db[idb]->trackChanges(false); + } } }