diff options
| author | Dan Engelbrecht <[email protected]> | 2022-09-30 09:39:57 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-09-30 00:39:57 -0700 |
| commit | bc403bc3e3707c08a828273c971d6fb0dbd75197 (patch) | |
| tree | 63c20827d3604f131c71a6acfbd8746e98058ffa /zenserver/upstream/upstreamcache.cpp | |
| parent | Format all rpc package responses using `FormatPackageMessageBuffer` to avoid ... (diff) | |
| download | zen-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.cpp | 9 |
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); |