From 69e2c4727b917fc1ca6beeb9b0a340509cc97b3e Mon Sep 17 00:00:00 2001 From: Daniil Porokhnin Date: Thu, 30 Jul 2026 12:32:46 +0300 Subject: [PATCH] chore: cache space reservation when sorting is enabled --- fracmanager/config.go | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/fracmanager/config.go b/fracmanager/config.go index c9955b30..b694752a 100644 --- a/fracmanager/config.go +++ b/fracmanager/config.go @@ -81,19 +81,26 @@ func FillConfigWithDefault(config *Config) *Config { config.ReplayWorkers = consts.DefaultReplayWorkers } - if config.SortCacheSize == 0 { + // Document sorting is enabled. + if !config.Fraction.SkipSortDocs { const ( SdocsCacheSizeMultiplier = 8 SdocsCacheSizeMaxRatio = 0.8 ) - config.SortCacheSize = config.FracSize * SdocsCacheSizeMultiplier + if config.SortCacheSize > config.CacheSize { - config.SortCacheSize = uint64(float64(config.CacheSize) * 0.8) + logger.Fatal("cache size misconfiguration", + zap.Float64("total_cache_size_mb", util.SizeToUnit(config.CacheSize, "mb")), + zap.Float64("sort_cache_size_mb", util.SizeToUnit(config.SortCacheSize, "mb"))) + } + + // Set defaults. + if config.SortCacheSize == 0 { + config.SortCacheSize = config.FracSize * SdocsCacheSizeMultiplier + if config.SortCacheSize > config.CacheSize { + config.SortCacheSize = uint64(float64(config.CacheSize) * 0.8) + } } - } else if config.SortCacheSize > config.CacheSize { - logger.Fatal("cache size misconfiguration", - zap.Float64("total_cache_size_mb", util.SizeToUnit(config.CacheSize, "mb")), - zap.Float64("sort_cache_size_mb", util.SizeToUnit(config.SortCacheSize, "mb"))) } return config