aboutsummaryrefslogtreecommitdiff
path: root/zenserver/upstream/upstreamcache.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2022-09-30 09:39:57 +0200
committerGitHub <[email protected]>2022-09-30 00:39:57 -0700
commitbc403bc3e3707c08a828273c971d6fb0dbd75197 (patch)
tree63c20827d3604f131c71a6acfbd8746e98058ffa /zenserver/upstream/upstreamcache.cpp
parentFormat all rpc package responses using `FormatPackageMessageBuffer` to avoid ... (diff)
downloadzen-bc403bc3e3707c08a828273c971d6fb0dbd75197.tar.xz
zen-bc403bc3e3707c08a828273c971d6fb0dbd75197.zip
Use bucket/key to get inline value in upstream for chunks without a chunkid (#176)
Diffstat (limited to 'zenserver/upstream/upstreamcache.cpp')
-rw-r--r--zenserver/upstream/upstreamcache.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/zenserver/upstream/upstreamcache.cpp b/zenserver/upstream/upstreamcache.cpp
index 610946385..ac75285c7 100644
--- a/zenserver/upstream/upstreamcache.cpp
+++ b/zenserver/upstream/upstreamcache.cpp
@@ -404,9 +404,12 @@ namespace detail {
if (!Result.Error)
{
std::string_view BlobStoreNamespace = GetActualBlobStoreNamespace(Session, Namespace);
- const CloudCacheResult BlobResult = Session.GetCompressedBlob(BlobStoreNamespace, Request.ChunkId);
- ElapsedSeconds = BlobResult.ElapsedSeconds;
- Payload = BlobResult.Response;
+ const CloudCacheResult BlobResult =
+ Request.ChunkId == IoHash::Zero
+ ? Session.GetInlineBlob(BlobStoreNamespace, Request.Key.Bucket, Request.Key.Hash, Request.ChunkId)
+ : Session.GetCompressedBlob(BlobStoreNamespace, Request.ChunkId);
+ ElapsedSeconds = BlobResult.ElapsedSeconds;
+ Payload = BlobResult.Response;
AppendResult(BlobResult, Result);