From b39e6c94977508f80db0d02fda32b2b688ef9600 Mon Sep 17 00:00:00 2001 From: John Sully Date: Thu, 24 Oct 2019 20:18:11 -0400 Subject: [PATCH] Remove unlocked KEYS command support, we will do this with snapshotting Former-commit-id: 4396682c07d4df3fdca01d1299ad171e310a9fc7 --- src/db.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/db.cpp b/src/db.cpp index 0d5042bab..d8aa0dc47 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -643,8 +643,6 @@ void keysCommand(client *c) { unsigned long numkeys = 0; void *replylen = addReplyDeferredLen(c); - aeReleaseLock(); - di = dictGetSafeIterator(c->db->pdict); allkeys = (pattern[0] == '*' && pattern[1] == '\0'); while((de = dictNext(di)) != NULL) { @@ -662,12 +660,6 @@ void keysCommand(client *c) { } dictReleaseIterator(di); setDeferredArrayLen(c,replylen,numkeys); - - fastlock_unlock(&c->db->lock); // we must release the DB lock before acquiring the AE lock to prevent deadlocks - AeLocker lock; - lock.arm(c); - fastlock_lock(&c->db->lock); // we still need the DB lock - lock.release(); } /* This callback is used by scanGenericCommand in order to collect elements