From 8d135a1e2b426ed4e44bfff26be1ecdba8bca222 Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Thu, 4 Sep 2025 12:46:35 +0200 Subject: oplog memory usage reduction (#482) - Improvement: For projectstore oplog GET operation, only read basic information and release it if the oplog is not already open to reduce memory usage when listing oplogs in web UI - Improvement: Reduce memory usage for oplog Op address lookup Refactored Oplog::EState -> Oplog ::EMode and make sure we open data files in read-only mode when EMode::kBasicReadOnly is used. --- src/zenserver/projectstore/httpprojectstore.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/zenserver/projectstore/httpprojectstore.cpp') diff --git a/src/zenserver/projectstore/httpprojectstore.cpp b/src/zenserver/projectstore/httpprojectstore.cpp index cb12d7ce9..feeec3e37 100644 --- a/src/zenserver/projectstore/httpprojectstore.cpp +++ b/src/zenserver/projectstore/httpprojectstore.cpp @@ -1483,7 +1483,7 @@ HttpProjectService::HandleOpLogRequest(HttpRouterRequest& Req) { case HttpVerb::kGet: { - Ref OplogIt = Project->OpenOplog(OplogId, /*AllowCompact*/ true, /*VerifyPathOnDisk*/ true); + Ref OplogIt = Project->ReadOplog(OplogId); if (!OplogIt) { return HttpReq.WriteResponse(HttpResponseCode::NotFound, @@ -1491,8 +1491,6 @@ HttpProjectService::HandleOpLogRequest(HttpRouterRequest& Req) fmt::format("oplog {} not found in project {}", OplogId, ProjectId)); } - Project->TouchOplog(OplogId); - ProjectStore::Oplog& Log = *OplogIt; CbObjectWriter Cb; -- cgit v1.2.3