diff options
| author | Dan Engelbrecht <[email protected]> | 2024-05-30 14:44:34 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2024-05-30 14:44:34 +0200 |
| commit | 8ce1dc72cce381b2adae256504331f2e8893f262 (patch) | |
| tree | df5ab56ce8cdf0f6664ed611f4cf1fb848718ea6 /src/zenstore/cache | |
| parent | workspaces review feedback (diff) | |
| download | zen-8ce1dc72cce381b2adae256504331f2e8893f262.tar.xz zen-8ce1dc72cce381b2adae256504331f2e8893f262.zip | |
cache optimizations (#88)
* message formatting optimizations
* bump iostorecompression small value threshold to 1MB
Diffstat (limited to 'src/zenstore/cache')
| -rw-r--r-- | src/zenstore/cache/cachedisklayer.cpp | 8 | ||||
| -rw-r--r-- | src/zenstore/cache/cacherpc.cpp | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/zenstore/cache/cachedisklayer.cpp b/src/zenstore/cache/cachedisklayer.cpp index 2e307118b..d67e8d6c8 100644 --- a/src/zenstore/cache/cachedisklayer.cpp +++ b/src/zenstore/cache/cachedisklayer.cpp @@ -690,6 +690,14 @@ ZenCacheDiskLayer::CacheBucket::CacheBucket(GcManager& Gc, // it makes sense to have a different strategy for legacy values m_Configuration.LargeObjectThreshold = Max(m_Configuration.LargeObjectThreshold, LegacyOverrideSize); } + else if (m_BucketName == std::string_view("iostorecompression")) + { + const uint64_t IoStoreDDCOverrideSize = 1024 * 1024; + + // This is pretty ad hoc but in order to avoid too many individual files + // it makes sense to have a different strategy for ddc pak compression stores + m_Configuration.LargeObjectThreshold = Max(m_Configuration.LargeObjectThreshold, IoStoreDDCOverrideSize); + } m_Gc.AddGcReferencer(*this); } diff --git a/src/zenstore/cache/cacherpc.cpp b/src/zenstore/cache/cacherpc.cpp index d56ceb98e..d28eda8c4 100644 --- a/src/zenstore/cache/cacherpc.cpp +++ b/src/zenstore/cache/cacherpc.cpp @@ -683,7 +683,7 @@ CacheRpcHandler::HandleRpcGetCacheRecords(const CacheRequestContext& Context, Cb bool StoreLocal = EnumHasAllFlags(ValuePolicy, CachePolicy::StoreLocal) && AreDiskWritesAllowed(); if (const CbAttachment* Attachment = Params.Package.FindAttachment(Value.ContentId)) { - if (CompressedBuffer Compressed = Attachment->AsCompressedBinary()) + if (const CompressedBuffer& Compressed = Attachment->AsCompressedBinary()) { Request.Source = Params.Source; Value.Exists = true; @@ -839,7 +839,7 @@ CacheRpcHandler::HandleRpcPutCacheValues(const CacheRequestContext& Context, con { if (Attachment->IsCompressedBinary()) { - CompressedBuffer Chunk = Attachment->AsCompressedBinary(); + const CompressedBuffer& Chunk = Attachment->AsCompressedBinary(); if (EnumHasAllFlags(Policy, CachePolicy::StoreRemote)) { // TODO: Implement upstream puts of CacheValues with StoreLocal == false. |