From a38465d04c48e59d1f8bef85a0744739e5bdc303 Mon Sep 17 00:00:00 2001 From: chrislu Date: Sat, 26 Jul 2025 21:27:02 -0700 Subject: [PATCH] use schema defined defaults --- weed/admin/dash/admin_server.go | 71 ++------------------------------- 1 file changed, 4 insertions(+), 67 deletions(-) diff --git a/weed/admin/dash/admin_server.go b/weed/admin/dash/admin_server.go index 1f42680a7..0d655e359 100644 --- a/weed/admin/dash/admin_server.go +++ b/weed/admin/dash/admin_server.go @@ -1131,55 +1131,17 @@ func (as *AdminServer) getMaintenanceConfig() (*maintenance.MaintenanceConfigDat if err != nil { glog.Errorf("Failed to load maintenance configuration: %v", err) // Fallback to default configuration - config = DefaultMaintenanceConfig() - } - - // Ensure policy is properly initialized and fix zero values with meaningful defaults - defaultConfig := maintenance.DefaultMaintenanceConfig() - configUpdated := false - - if config.Policy == nil { - config.Policy = defaultConfig.Policy - configUpdated = true - glog.V(1).Infof("Initialized null policy with defaults") + config = maintenance.DefaultMaintenanceConfig() } // Apply schema defaults for any zero values + configUpdated := false schema := maintenance.GetMaintenanceConfigSchema() if err := schema.ApplyDefaults(config); err == nil { configUpdated = true glog.V(1).Infof("Applied schema defaults to configuration") } else { - glog.V(1).Infof("Schema defaults failed, using fallback: %v", err) - // Fallback to using the default config for zero values - if config.ScanIntervalSeconds == 0 { - config.ScanIntervalSeconds = defaultConfig.ScanIntervalSeconds - configUpdated = true - } - if config.WorkerTimeoutSeconds == 0 { - config.WorkerTimeoutSeconds = defaultConfig.WorkerTimeoutSeconds - configUpdated = true - } - if config.TaskTimeoutSeconds == 0 { - config.TaskTimeoutSeconds = defaultConfig.TaskTimeoutSeconds - configUpdated = true - } - if config.RetryDelaySeconds == 0 { - config.RetryDelaySeconds = defaultConfig.RetryDelaySeconds - configUpdated = true - } - if config.MaxRetries == 0 { - config.MaxRetries = defaultConfig.MaxRetries - configUpdated = true - } - if config.CleanupIntervalSeconds == 0 { - config.CleanupIntervalSeconds = defaultConfig.CleanupIntervalSeconds - configUpdated = true - } - if config.TaskRetentionSeconds == 0 { - config.TaskRetentionSeconds = defaultConfig.TaskRetentionSeconds - configUpdated = true - } + glog.Errorf("Failed to apply schema defaults: %v", err) } // Save the corrected configuration if any updates were made @@ -1233,32 +1195,7 @@ func (as *AdminServer) updateMaintenanceConfig(config *maintenance.MaintenanceCo // Apply schema defaults if err := schema.ApplyDefaults(config); err != nil { glog.Errorf("Failed to apply schema defaults: %v", err) - // Fallback to manual default application - defaultConfig := maintenance.DefaultMaintenanceConfig() - if config.Policy == nil { - config.Policy = defaultConfig.Policy - } - if config.ScanIntervalSeconds == 0 { - config.ScanIntervalSeconds = defaultConfig.ScanIntervalSeconds - } - if config.WorkerTimeoutSeconds == 0 { - config.WorkerTimeoutSeconds = defaultConfig.WorkerTimeoutSeconds - } - if config.TaskTimeoutSeconds == 0 { - config.TaskTimeoutSeconds = defaultConfig.TaskTimeoutSeconds - } - if config.RetryDelaySeconds == 0 { - config.RetryDelaySeconds = defaultConfig.RetryDelaySeconds - } - if config.MaxRetries == 0 { - config.MaxRetries = defaultConfig.MaxRetries - } - if config.CleanupIntervalSeconds == 0 { - config.CleanupIntervalSeconds = defaultConfig.CleanupIntervalSeconds - } - if config.TaskRetentionSeconds == 0 { - config.TaskRetentionSeconds = defaultConfig.TaskRetentionSeconds - } + return fmt.Errorf("failed to apply schema defaults: %w", err) } // Validate configuration using schema