diff options
| author | Dan Engelbrecht <[email protected]> | 2025-06-19 19:20:19 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2025-06-19 19:20:19 +0200 |
| commit | fe4cac6a733706e6b523e9ec3e9d014571723f72 (patch) | |
| tree | 86ef5c02c61d51b475b1cc00ba8be2591c664032 /src/zenutil/jupiter | |
| parent | 5.6.13 (diff) | |
| download | zen-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.cpp | 7 |
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 |