From ca559819f7dcd97ba9ef667bf38360a9527d62f6 Mon Sep 17 00:00:00 2001 From: menwen Date: Thu, 5 Aug 2021 16:09:24 +0800 Subject: Add latency monitor sample when key is deleted via lazy expire (#9317) Fix that there is no sample latency after the key expires via expireIfNeeded(). Some refactoring for shared code. --- src/expire.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) (limited to 'src/expire.c') diff --git a/src/expire.c b/src/expire.c index 858c13549..798651255 100644 --- a/src/expire.c +++ b/src/expire.c @@ -53,24 +53,11 @@ * to the function to avoid too many gettimeofday() syscalls. */ int activeExpireCycleTryExpire(redisDb *db, dictEntry *de, long long now) { long long t = dictGetSignedIntegerVal(de); - mstime_t expire_latency; if (now > t) { sds key = dictGetKey(de); robj *keyobj = createStringObject(key,sdslen(key)); - - propagateExpire(db,keyobj,server.lazyfree_lazy_expire); - latencyStartMonitor(expire_latency); - if (server.lazyfree_lazy_expire) - dbAsyncDelete(db,keyobj); - else - dbSyncDelete(db,keyobj); - latencyEndMonitor(expire_latency); - latencyAddSampleIfNeeded("expire-del",expire_latency); - notifyKeyspaceEvent(NOTIFY_EXPIRED, - "expired",keyobj,db->id); - signalModifiedKey(NULL, db, keyobj); + deleteExpiredKeyAndPropagate(db,keyobj); decrRefCount(keyobj); - server.stat_expiredkeys++; return 1; } else { return 0; -- cgit v1.2.1