fix(config): use resource profile defaults for Jobs, DumpJobs, ClusterParallelism
- ClusterParallelism now defaults to recommended profile (1 for small VMs) - Jobs and DumpJobs now use profile values instead of raw CPU counts - Small VMs (4 cores, 32GB) will now get 'conservative' or 'balanced' profile with lower parallelism to avoid 'out of shared memory' errors This fixes the issue where small VMs defaulted to ClusterParallelism=2 regardless of detected resources, causing restore failures on large DBs.
This commit is contained in:
@@ -4,8 +4,8 @@ This directory contains pre-compiled binaries for the DB Backup Tool across mult
|
|||||||
|
|
||||||
## Build Information
|
## Build Information
|
||||||
- **Version**: 3.42.50
|
- **Version**: 3.42.50
|
||||||
- **Build Time**: 2026-01-18_10:38:39_UTC
|
- **Build Time**: 2026-01-18_10:48:22_UTC
|
||||||
- **Git Commit**: 670c9af
|
- **Git Commit**: f6f8b04
|
||||||
|
|
||||||
## Recent Updates (v1.1.0)
|
## Recent Updates (v1.1.0)
|
||||||
- ✅ Fixed TUI progress display with line-by-line output
|
- ✅ Fixed TUI progress display with line-by-line output
|
||||||
|
|||||||
@@ -200,11 +200,11 @@ func New() *Config {
|
|||||||
SSLMode: sslMode,
|
SSLMode: sslMode,
|
||||||
Insecure: getEnvBool("INSECURE", false),
|
Insecure: getEnvBool("INSECURE", false),
|
||||||
|
|
||||||
// Backup defaults
|
// Backup defaults - use recommended profile's settings for small VMs
|
||||||
BackupDir: backupDir,
|
BackupDir: backupDir,
|
||||||
CompressionLevel: getEnvInt("COMPRESS_LEVEL", 6),
|
CompressionLevel: getEnvInt("COMPRESS_LEVEL", 6),
|
||||||
Jobs: getEnvInt("JOBS", getDefaultJobs(cpuInfo)),
|
Jobs: getEnvInt("JOBS", recommendedProfile.Jobs),
|
||||||
DumpJobs: getEnvInt("DUMP_JOBS", getDefaultDumpJobs(cpuInfo)),
|
DumpJobs: getEnvInt("DUMP_JOBS", recommendedProfile.DumpJobs),
|
||||||
MaxCores: getEnvInt("MAX_CORES", getDefaultMaxCores(cpuInfo)),
|
MaxCores: getEnvInt("MAX_CORES", getDefaultMaxCores(cpuInfo)),
|
||||||
AutoDetectCores: getEnvBool("AUTO_DETECT_CORES", true),
|
AutoDetectCores: getEnvBool("AUTO_DETECT_CORES", true),
|
||||||
CPUWorkloadType: getEnvString("CPU_WORKLOAD_TYPE", "balanced"),
|
CPUWorkloadType: getEnvString("CPU_WORKLOAD_TYPE", "balanced"),
|
||||||
@@ -233,8 +233,8 @@ func New() *Config {
|
|||||||
// Timeouts - default 24 hours (1440 min) to handle very large databases with large objects
|
// Timeouts - default 24 hours (1440 min) to handle very large databases with large objects
|
||||||
ClusterTimeoutMinutes: getEnvInt("CLUSTER_TIMEOUT_MIN", 1440),
|
ClusterTimeoutMinutes: getEnvInt("CLUSTER_TIMEOUT_MIN", 1440),
|
||||||
|
|
||||||
// Cluster parallelism (default: 2 concurrent operations for faster cluster backup/restore)
|
// Cluster parallelism - use recommended profile's setting for small VMs
|
||||||
ClusterParallelism: getEnvInt("CLUSTER_PARALLELISM", 2),
|
ClusterParallelism: getEnvInt("CLUSTER_PARALLELISM", recommendedProfile.ClusterParallelism),
|
||||||
|
|
||||||
// Working directory for large operations (default: system temp)
|
// Working directory for large operations (default: system temp)
|
||||||
WorkDir: getEnvString("WORK_DIR", ""),
|
WorkDir: getEnvString("WORK_DIR", ""),
|
||||||
|
|||||||
Reference in New Issue
Block a user