From 4d4f5d85d77af36c97c67220b6a80f98a41d807e Mon Sep 17 00:00:00 2001 From: "3058078489@qq.com" <3058078489@qq.com> Date: Thu, 2 Nov 2023 16:38:10 +0800 Subject: [PATCH 1/3] fix max session crush --- src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp index 7061479965944..81e2680729824 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp @@ -366,10 +366,14 @@ WiredTigerKVEngine::WiredTigerKVEngine(OperationContext* opCtx, } } +#define DEFAULT_WIREDTIGER_MAX_SESSIONS 33000 std::stringstream ss; ss << "create,"; ss << "cache_size=" << cacheSizeMB << "M,"; - ss << "session_max=33000,"; + if (serverGlobalParams.maxConns <= DEFAULT_WIREDTIGER_MAX_SESSIONS) + ss << "session_max=DEFAULT_WIREDTIGER_MAX_SESSIONS,"; + else + ss << "session_max=" << serverGlobalParams.maxConns << ","; ss << "eviction=(threads_min=4,threads_max=4),"; if (gWiredTigerEvictionDirtyTargetGB) From 622d9edc0e837efb8943cb4f82f4a893671bbb6b Mon Sep 17 00:00:00 2001 From: "3058078489@qq.com" <3058078489@qq.com> Date: Thu, 2 Nov 2023 20:39:08 +0800 Subject: [PATCH 2/3] fix bug --- src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp index 81e2680729824..583d3adfdbe00 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp @@ -367,11 +367,14 @@ WiredTigerKVEngine::WiredTigerKVEngine(OperationContext* opCtx, } #define DEFAULT_WIREDTIGER_MAX_SESSIONS 33000 +//reserve 100 sessions for wiredtiger's internal session +#define DEFAULT_WIREDTIGER_INTERNAL_SESSIONS 100 + std::stringstream ss; ss << "create,"; ss << "cache_size=" << cacheSizeMB << "M,"; if (serverGlobalParams.maxConns <= DEFAULT_WIREDTIGER_MAX_SESSIONS) - ss << "session_max=DEFAULT_WIREDTIGER_MAX_SESSIONS,"; + ss << "session_max=" << serverGlobalParams.maxConns + DEFAULT_WIREDTIGER_INTERNAL_SESSIONS << ","; else ss << "session_max=" << serverGlobalParams.maxConns << ","; ss << "eviction=(threads_min=4,threads_max=4),"; From df5fc7311495613475db7de73ef67398373eb2e5 Mon Sep 17 00:00:00 2001 From: "3058078489@qq.com" <3058078489@qq.com> Date: Thu, 2 Nov 2023 20:50:41 +0800 Subject: [PATCH 3/3] bug fix --- src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp index 583d3adfdbe00..f609bc184b6b1 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp @@ -367,14 +367,11 @@ WiredTigerKVEngine::WiredTigerKVEngine(OperationContext* opCtx, } #define DEFAULT_WIREDTIGER_MAX_SESSIONS 33000 -//reserve 100 sessions for wiredtiger's internal session -#define DEFAULT_WIREDTIGER_INTERNAL_SESSIONS 100 - std::stringstream ss; ss << "create,"; ss << "cache_size=" << cacheSizeMB << "M,"; if (serverGlobalParams.maxConns <= DEFAULT_WIREDTIGER_MAX_SESSIONS) - ss << "session_max=" << serverGlobalParams.maxConns + DEFAULT_WIREDTIGER_INTERNAL_SESSIONS << ","; + ss << "session_max=" << DEFAULT_WIREDTIGER_MAX_SESSIONS << ","; else ss << "session_max=" << serverGlobalParams.maxConns << ","; ss << "eviction=(threads_min=4,threads_max=4),";