aboutsummaryrefslogtreecommitdiff
path: root/src/zenstore/cache
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2024-05-30 14:44:34 +0200
committerGitHub Enterprise <[email protected]>2024-05-30 14:44:34 +0200
commit8ce1dc72cce381b2adae256504331f2e8893f262 (patch)
treedf5ab56ce8cdf0f6664ed611f4cf1fb848718ea6 /src/zenstore/cache
parentworkspaces review feedback (diff)
downloadzen-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.cpp8
-rw-r--r--src/zenstore/cache/cacherpc.cpp4
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.