diff options
| author | zousar <[email protected]> | 2025-03-02 00:15:35 -0700 |
|---|---|---|
| committer | zousar <[email protected]> | 2025-03-02 00:15:35 -0700 |
| commit | 6d07b0437ccb7800652708f76a7ee84e551f43cf (patch) | |
| tree | 15d4ef7c9b69da20ea5da3dc18240d75bb64d17e /src/zenserver | |
| parent | Move utility methods in cachedisklayer (diff) | |
| download | zen-6d07b0437ccb7800652708f76a7ee84e551f43cf.tar.xz zen-6d07b0437ccb7800652708f76a7ee84e551f43cf.zip | |
Control overwrite enforcement with a config setting
Diffstat (limited to 'src/zenserver')
| -rw-r--r-- | src/zenserver/config.cpp | 8 | ||||
| -rw-r--r-- | src/zenserver/config.h | 1 | ||||
| -rw-r--r-- | src/zenserver/zenserver.cpp | 3 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/zenserver/config.cpp b/src/zenserver/config.cpp index 809092378..c8949f5fd 100644 --- a/src/zenserver/config.cpp +++ b/src/zenserver/config.cpp @@ -408,6 +408,7 @@ ParseConfigFile(const std::filesystem::path& Path, LuaOptions.AddOption("cache.enable"sv, ServerOptions.StructuredCacheConfig.Enabled); LuaOptions.AddOption("cache.writelog"sv, ServerOptions.StructuredCacheConfig.WriteLogEnabled, "cache-write-log"sv); LuaOptions.AddOption("cache.accesslog"sv, ServerOptions.StructuredCacheConfig.AccessLogEnabled, "cache-access-log"sv); + LuaOptions.AddOption("cache.limitoverwrites"sv, ServerOptions.StructuredCacheConfig.LimitOverwrites, "cache-limit-overwrites"sv); LuaOptions.AddOption("cache.memlayer.sizethreshold"sv, ServerOptions.StructuredCacheConfig.MemCacheSizeThreshold, @@ -859,6 +860,13 @@ ParseCliOptions(int argc, char* argv[], ZenServerOptions& ServerOptions) cxxopts::value<bool>(ServerOptions.StructuredCacheConfig.AccessLogEnabled)->default_value("false"), ""); + options.add_option("cache", + "", + "cache-limit-overwrites", + "Whether to require policy flag pattern before allowing overwrites", + cxxopts::value<bool>(ServerOptions.StructuredCacheConfig.LimitOverwrites)->default_value("false"), + ""); + options.add_option( "cache", "", diff --git a/src/zenserver/config.h b/src/zenserver/config.h index c7781aada..4ce265c78 100644 --- a/src/zenserver/config.h +++ b/src/zenserver/config.h @@ -118,6 +118,7 @@ struct ZenStructuredCacheConfig bool Enabled = true; bool WriteLogEnabled = false; bool AccessLogEnabled = false; + bool LimitOverwrites = false; uint64_t MemCacheSizeThreshold = 1 * 1024; uint64_t MemTargetFootprintBytes = 512 * 1024 * 1024; uint64_t MemTrimIntervalSeconds = 60; diff --git a/src/zenserver/zenserver.cpp b/src/zenserver/zenserver.cpp index f84bc0b00..cc1be13e2 100644 --- a/src/zenserver/zenserver.cpp +++ b/src/zenserver/zenserver.cpp @@ -530,7 +530,8 @@ ZenServer::InitializeStructuredCache(const ZenServerOptions& ServerOptions) Config.AllowAutomaticCreationOfNamespaces = true; Config.Logging = {.EnableWriteLog = ServerOptions.StructuredCacheConfig.WriteLogEnabled, .EnableAccessLog = ServerOptions.StructuredCacheConfig.AccessLogEnabled}; - Config.NamespaceConfig.DiskLayerConfig.BucketConfig.MemCacheSizeThreshold = ServerOptions.StructuredCacheConfig.MemCacheSizeThreshold, + Config.NamespaceConfig.DiskLayerConfig.BucketConfig.MemCacheSizeThreshold = ServerOptions.StructuredCacheConfig.MemCacheSizeThreshold; + Config.NamespaceConfig.DiskLayerConfig.BucketConfig.LimitOverwrites = ServerOptions.StructuredCacheConfig.LimitOverwrites; Config.NamespaceConfig.DiskLayerConfig.MemCacheTargetFootprintBytes = ServerOptions.StructuredCacheConfig.MemTargetFootprintBytes; Config.NamespaceConfig.DiskLayerConfig.MemCacheTrimIntervalSeconds = ServerOptions.StructuredCacheConfig.MemTrimIntervalSeconds; Config.NamespaceConfig.DiskLayerConfig.MemCacheMaxAgeSeconds = ServerOptions.StructuredCacheConfig.MemMaxAgeSeconds; |