diff --git a/src/db.cpp b/src/db.cpp index 2d88ceb73..b7b36b518 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -101,7 +101,12 @@ static robj* lookupKey(redisDb *db, robj *key, int flags) { } static robj_roptr lookupKeyConst(redisDb *db, robj *key, int flags) { serverAssert((flags & LOOKUP_UPDATEMVCC) == 0); - robj_roptr val = db->find(szFromObj(key)); + robj_roptr val; + if (g_pserver->m_pstorageFactory) + val = db->find(szFromObj(key)).val(); + else + val = db->find_cached_threadsafe(szFromObj(key)).val(); + if (val != nullptr) { lookupKeyUpdateObj(val.unsafe_robjcast(), flags); return val; @@ -2333,10 +2338,12 @@ bool redisDbPersistentData::insert(char *key, robj *o, bool fAssumeNew) serverAssert(FImplies(fAssumeNew, res == DICT_OK)); if (res == DICT_OK) { +#ifdef CHECKED_BUILD if (m_pdbSnapshot != nullptr && m_pdbSnapshot->find_cached_threadsafe(key) != nullptr) { serverAssert(dictFind(m_pdictTombstone, key) != nullptr); } +#endif trackkey(key, false /* fUpdate */); } return (res == DICT_OK); diff --git a/src/storage.h b/src/storage.h index e9106aca2..2d46c0223 100644 --- a/src/storage.h +++ b/src/storage.h @@ -1,8 +1,6 @@ #ifndef __STORAGE_H__ #define __STORAGE_H__ -#define OBJ_ENCODING_EMBSTR_SIZE_LIMIT 48 // Note: also defined in object.c - should always match - #ifdef __cplusplus extern "C" { #endif