From 9a8895ec5aba44507b210b85275c3c3acd96deec Mon Sep 17 00:00:00 2001 From: Minghao Li Date: Thu, 17 Nov 2022 17:07:16 +0800 Subject: [PATCH 1/2] refactor(sync): use taosLRUCacheErase instead of taosLRUCacheRelease --- source/libs/sync/src/syncRaftLog.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source/libs/sync/src/syncRaftLog.c b/source/libs/sync/src/syncRaftLog.c index 2b1cee51d7..955ecf9c29 100644 --- a/source/libs/sync/src/syncRaftLog.c +++ b/source/libs/sync/src/syncRaftLog.c @@ -38,7 +38,7 @@ SSyncLogStore* logStoreCreate(SSyncNode* pSyncNode) { } // pLogStore->pCache = taosLRUCacheInit(10 * 1024 * 1024, 1, .5); - pLogStore->pCache = taosLRUCacheInit(100 * 1024 * 1024, 1, .5); + pLogStore->pCache = taosLRUCacheInit(30 * 1024 * 1024, 1, .5); if (pLogStore->pCache == NULL) { taosMemoryFree(pLogStore); terrno = TSDB_CODE_WAL_OUT_OF_MEMORY; @@ -325,12 +325,15 @@ static int32_t raftLogTruncate(struct SSyncLogStore* pLogStore, SyncIndex fromIn // delete from cache for (SyncIndex index = fromIndex; index <= wallastVer; ++index) { SLRUCache* pCache = pData->pSyncNode->pLogStore->pCache; + taosLRUCacheErase(pData->pSyncNode->pLogStore->pCache, &index, sizeof(index)); +#if 0 LRUHandle* h = taosLRUCacheLookup(pCache, &index, sizeof(index)); if (h) { sNTrace(pData->pSyncNode, "cache delete index:%" PRId64, index); taosLRUCacheRelease(pData->pSyncNode->pLogStore->pCache, h, true); } +#endif } int32_t code = walRollback(pWal, fromIndex); From cf76b418f95d41fd60d819bcc1c11148c6446871 Mon Sep 17 00:00:00 2001 From: Minghao Li Date: Thu, 17 Nov 2022 17:19:26 +0800 Subject: [PATCH 2/2] refactor(sync): reduce cache size --- source/libs/sync/src/syncRaftLog.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/source/libs/sync/src/syncRaftLog.c b/source/libs/sync/src/syncRaftLog.c index 955ecf9c29..db0b6d1d02 100644 --- a/source/libs/sync/src/syncRaftLog.c +++ b/source/libs/sync/src/syncRaftLog.c @@ -325,15 +325,12 @@ static int32_t raftLogTruncate(struct SSyncLogStore* pLogStore, SyncIndex fromIn // delete from cache for (SyncIndex index = fromIndex; index <= wallastVer; ++index) { SLRUCache* pCache = pData->pSyncNode->pLogStore->pCache; - taosLRUCacheErase(pData->pSyncNode->pLogStore->pCache, &index, sizeof(index)); -#if 0 LRUHandle* h = taosLRUCacheLookup(pCache, &index, sizeof(index)); if (h) { sNTrace(pData->pSyncNode, "cache delete index:%" PRId64, index); taosLRUCacheRelease(pData->pSyncNode->pLogStore->pCache, h, true); } -#endif } int32_t code = walRollback(pWal, fromIndex);