aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2026-04-11 11:13:35 +0200
committerGitHub Enterprise <[email protected]>2026-04-11 11:13:35 +0200
commit473b124cb15e04e5d06b6f31f437cd3b545bdc7f (patch)
tree058f0ee4a4de676be72bad00775a85c2e57522dd
parentupdate rpmalloc and tweak for commit/decommit churn (#934) (diff)
downloadzen-473b124cb15e04e5d06b6f31f437cd3b545bdc7f.tar.xz
zen-473b124cb15e04e5d06b6f31f437cd3b545bdc7f.zip
improve messaging when zen builds download target disk does not have enought space (#935)
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/zenremotestore/builds/buildstorageoperations.cpp5
2 files changed, 5 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4830dc6f5..ee881b7ec 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@
- Build store binary GET requests with a Range header now return 206 Partial Content with `Content-Range` (previously returned 200 OK without it)
- Improvement: Updated rpmalloc to develop branch commit 262c698d7019 (2026-04-10), which fixes memory ordering on weak architectures and avoids assert on mmap failure with callback
- Improvement: Increased rpmalloc page decommit thresholds to reduce commit/decommit churn under high allocation turnover
+- Improvement: Disk full error message for `builds download` now shows human-readable sizes and available free space
- Bugfix: Added logic to shared memory instance state management to ensure unclean shutdown followed by restart with identical pid doesn't lead to errors. Particularly likely to happen when running on k8s
## 5.8.3
diff --git a/src/zenremotestore/builds/buildstorageoperations.cpp b/src/zenremotestore/builds/buildstorageoperations.cpp
index c8cf3212c..1f8b96cc4 100644
--- a/src/zenremotestore/builds/buildstorageoperations.cpp
+++ b/src/zenremotestore/builds/buildstorageoperations.cpp
@@ -3036,7 +3036,10 @@ BuildsOperationUpdateFolder::CheckRequiredDiskSpace(const tsl::robin_map<std::st
if (Space.Free < (RequiredSpace + 16u * 1024u * 1024u))
{
throw std::runtime_error(
- fmt::format("Not enough free space for target path '{}', {} of free space is needed", m_Path, RequiredSpace));
+ fmt::format("Not enough free space for target path '{}', {} of free space is needed but only {} is available",
+ m_Path,
+ NiceBytes(RequiredSpace),
+ NiceBytes(Space.Free)));
}
}