From 9e138815a19b157463ee74dda45a89d7e1266c8b Mon Sep 17 00:00:00 2001 From: John Sully Date: Mon, 16 May 2022 22:36:41 +0000 Subject: [PATCH] Fix assertion in async rehash --- src/server.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/server.cpp b/src/server.cpp index 59a607e70..e282cc493 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -2109,8 +2109,10 @@ void databasesCron(bool fMainThread) { aeAcquireLock(); } - dictCompleteRehashAsync(serverTL->rehashCtl, true /*fFree*/); - serverTL->rehashCtl = nullptr; + if (serverTL->rehashCtl->done.load(std::memory_order_relaxed)) { + dictCompleteRehashAsync(serverTL->rehashCtl, true /*fFree*/); + serverTL->rehashCtl = nullptr; + } } serverAssert(serverTL->rehashCtl == nullptr);