aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/jupiter
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-06-19 19:20:19 +0200
committerGitHub Enterprise <[email protected]>2025-06-19 19:20:19 +0200
commitfe4cac6a733706e6b523e9ec3e9d014571723f72 (patch)
tree86ef5c02c61d51b475b1cc00ba8be2591c664032 /src/zenutil/jupiter
parent5.6.13 (diff)
downloadzen-fe4cac6a733706e6b523e9ec3e9d014571723f72.tar.xz
zen-fe4cac6a733706e6b523e9ec3e9d014571723f72.zip
add retry for failed block metadata upload (#445)
* add retry for failed block metadata upload
Diffstat (limited to 'src/zenutil/jupiter')
-rw-r--r--src/zenutil/jupiter/jupiterbuildstorage.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/zenutil/jupiter/jupiterbuildstorage.cpp b/src/zenutil/jupiter/jupiterbuildstorage.cpp
index 53cad78da..9974725ff 100644
--- a/src/zenutil/jupiter/jupiterbuildstorage.cpp
+++ b/src/zenutil/jupiter/jupiterbuildstorage.cpp
@@ -334,7 +334,7 @@ public:
return WorkList;
}
- virtual void PutBlockMetadata(const Oid& BuildId, const IoHash& BlockRawHash, const CbObject& MetaData) override
+ virtual bool PutBlockMetadata(const Oid& BuildId, const IoHash& BlockRawHash, const CbObject& MetaData) override
{
ZEN_TRACE_CPU("Jupiter::PutBlockMetadata");
@@ -346,9 +346,14 @@ public:
AddStatistic(PutMetaResult);
if (!PutMetaResult.Success)
{
+ if (PutMetaResult.ErrorCode == int32_t(HttpResponseCode::NotFound))
+ {
+ return false;
+ }
throw std::runtime_error(
fmt::format("Failed putting build block metadata: {} ({})", PutMetaResult.Reason, PutMetaResult.ErrorCode));
}
+ return true;
}
virtual CbObject FindBlocks(const Oid& BuildId, uint64_t MaxBlockCount) override