[#653] Support removal old unversioned objects

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
Denis Kirillov 2025-03-05 17:44:23 +03:00 committed by Alexey Vanin
parent c0c99a1839
commit 4a430257a4
18 changed files with 289 additions and 61 deletions

View file

@ -78,6 +78,9 @@ const (
useDefaultXmlns = "use_default_xmlns"
bypassContentEncodingCheckInChunks = "bypass_content_encoding_check_in_chunks"
defaultRemoveOnReplaceTimeout = 30 * time.Second
defaultRemoveOnReplaceQueue = 10000
)
var (
@ -276,9 +279,12 @@ const (
cfgSoftMemoryLimit = "runtime.soft_memory_limit"
// Enable return MD5 checksum in ETag.
cfgMD5Enabled = "features.md5.enabled"
cfgPolicyDenyByDefault = "features.policy.deny_by_default"
cfgTreePoolNetmapSupport = "features.tree_pool_netmap_support"
cfgMD5Enabled = "features.md5.enabled"
cfgPolicyDenyByDefault = "features.policy.deny_by_default"
cfgTreePoolNetmapSupport = "features.tree_pool_netmap_support"
cfgRemoveOnReplaceEnabled = "features.remove_on_replace.enabled"
cfgRemoveOnReplaceTimeout = "features.remove_on_replace.timeout"
cfgRemoveOnReplaceQueue = "features.remove_on_replace.queue"
// FrostfsID.
cfgFrostfsIDContract = "frostfsid.contract"
@ -960,6 +966,24 @@ func fetchTombstoneWorkerPoolSize(v *viper.Viper) int {
return tombstoneWorkerPoolSize
}
func fetchRemoveOnReplaceTimeout(v *viper.Viper) time.Duration {
val := v.GetDuration(cfgRemoveOnReplaceTimeout)
if val <= 0 {
val = defaultRemoveOnReplaceTimeout
}
return val
}
func fetchRemoveOnReplaceQueue(v *viper.Viper) int {
val := v.GetInt(cfgRemoveOnReplaceQueue)
if val <= 0 {
val = defaultRemoveOnReplaceQueue
}
return val
}
func fetchLogTagsConfig(v *viper.Viper) (map[string]zapcore.Level, error) {
res := make(map[string]zapcore.Level)