diff options
Diffstat (limited to 'src/zenserver/cache/httpstructuredcache.cpp')
| -rw-r--r-- | src/zenserver/cache/httpstructuredcache.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/zenserver/cache/httpstructuredcache.cpp b/src/zenserver/cache/httpstructuredcache.cpp index 9bc8d865a..ddfd1eeb5 100644 --- a/src/zenserver/cache/httpstructuredcache.cpp +++ b/src/zenserver/cache/httpstructuredcache.cpp @@ -2061,19 +2061,23 @@ HttpStructuredCacheService::HandleRpcGetCacheRecords(const CacheRequestContext& { if (IoBuffer Chunk = m_CidStore.FindChunkByCid(Value.ContentId)) { - ZEN_ASSERT(Chunk.GetSize() > 0); - Value.Payload = CompressedBuffer::FromCompressedNoValidate(std::move(Chunk)); - Value.Exists = true; - } - else - { - if (EnumHasAllFlags(ValuePolicy, CachePolicy::QueryRemote)) + if (Chunk.GetSize() > 0) { - NeedUpstreamAttachment = true; - Value.ReadFromUpstream = true; + Value.Payload = CompressedBuffer::FromCompressedNoValidate(std::move(Chunk)); + Value.Exists = true; + continue; + } + else + { + ZEN_WARN("Skipping invalid chunk in local cache '{}'", Value.ContentId); } - Request.Complete = false; } + if (EnumHasAllFlags(ValuePolicy, CachePolicy::QueryRemote)) + { + NeedUpstreamAttachment = true; + Value.ReadFromUpstream = true; + } + Request.Complete = false; } } } |