From de12df40b5caa621223b1b9ed00b57240093ee0c Mon Sep 17 00:00:00 2001 From: zousar Date: Thu, 14 Aug 2025 16:54:38 -0600 Subject: Ensure that FinalizeContainer finalizes both part and build --- .../projectstore/buildsremoteprojectstore.cpp | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/zenserver/projectstore/buildsremoteprojectstore.cpp b/src/zenserver/projectstore/buildsremoteprojectstore.cpp index c9a01e56a..52cdc5983 100644 --- a/src/zenserver/projectstore/buildsremoteprojectstore.cpp +++ b/src/zenserver/projectstore/buildsremoteprojectstore.cpp @@ -270,6 +270,37 @@ public: m_OplogBuildPartId, Ex.what()); } + + if (!Result.ErrorCode && Result.Needs.empty()) + { + try + { + m_BuildStorage->FinalizeBuild(m_BuildId); + } + catch (const HttpClientError& Ex) + { + Result.ErrorCode = Ex.m_Error != 0 ? Ex.m_Error + : Ex.m_ResponseCode != HttpResponseCode::ImATeapot ? (int)Ex.m_ResponseCode + : 0; + Result.Reason = fmt::format("Failed finalizing oplog container build to {}/{}/{}/{}. Reason: '{}'", + m_Url, + m_Namespace, + m_Bucket, + m_BuildId, + Ex.what()); + } + catch (const std::exception& Ex) + { + Result.ErrorCode = gsl::narrow(HttpResponseCode::InternalServerError); + Result.Reason = fmt::format("Failed finalizing oplog container build to {}/{}/{}/{}. Reason: '{}'", + m_Url, + m_Namespace, + m_Bucket, + m_BuildId, + Ex.what()); + } + } + return Result; } -- cgit v1.2.3 From 802018cf391d1235c510cd293f6310e3db1e211e Mon Sep 17 00:00:00 2001 From: zousar Date: Thu, 14 Aug 2025 16:56:06 -0600 Subject: Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91f9674aa..b1c1782e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ## - Bugfix: Don't skip oplogs without package data in zen dashboard. +- Bugfix: Finalize build (in addition to build part) when exporting oplogs ## 5.5.16 - Feature: Added `zen build ls` option to list the content of a build part(s) -- cgit v1.2.3