From 3b788bac1e66ccf580d4cceacaf15c2ce293a135 Mon Sep 17 00:00:00 2001 From: John Sully Date: Thu, 21 Oct 2021 22:46:17 +0000 Subject: [PATCH] Ensure async rehash completes before we start a new time. Degrad to sync hash if necessary to ensure this Former-commit-id: 0f830facc7c6bc6668af9bb2e10b6e13a13227aa --- src/server.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/server.cpp b/src/server.cpp index ef1039cea..f257883e0 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -2112,12 +2112,11 @@ void databasesCron(bool fMainThread) { if (g_pserver->activerehashing) { for (j = 0; j < dbs_per_call; j++) { if (serverTL->rehashCtl != nullptr) { - if (dictRehashSomeAsync(serverTL->rehashCtl, 5)) { + if (dictRehashSomeAsync(serverTL->rehashCtl, rehashes_per_ms)) { break; - } else { - dictCompleteRehashAsync(serverTL->rehashCtl, true /*fFree*/); - serverTL->rehashCtl = nullptr; - } + } + dictCompleteRehashAsync(serverTL->rehashCtl, true /*fFree*/); + serverTL->rehashCtl = nullptr; } serverAssert(serverTL->rehashCtl == nullptr);