diff options
| author | Dan Engelbrecht <[email protected]> | 2023-09-13 11:20:01 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-09-13 17:20:01 +0200 |
| commit | 8af7c6855591d5592a26cf9a63aae90b79857184 (patch) | |
| tree | 3f8879510f81b1012a679c1fae6d6006bb7a61b6 /src/zenserver/cache/httpstructuredcache.cpp | |
| parent | fix url parsing crash (#399) (diff) | |
| download | zen-8af7c6855591d5592a26cf9a63aae90b79857184.tar.xz zen-8af7c6855591d5592a26cf9a63aae90b79857184.zip | |
issue warning instead of assert on bad data in cid store (#400)
* issue warning instead of assert on bad data in cid store
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; } } } |