func()

in internal/backint/configuration/configuration.go [199:267]


func (p *Parameters) ApplyDefaults(numCPU int64) {
	if p.Config.GetLogToCloud() == nil {
		p.Config.LogToCloud = wpb.Bool(true)
	}
	if p.Config.GetSendMetricsToMonitoring() == nil {
		p.Config.SendMetricsToMonitoring = wpb.Bool(true)
	}
	if p.Config.GetRetries() <= 0 {
		log.Logger.Info("retries defaulted to 5")
		p.Config.Retries = 5
	}
	if p.Config.GetParallelStreams() <= 0 && p.Config.GetXmlMultipartUpload() {
		log.Logger.Info("parallel_streams defaulted to 16 for XML multipart upload")
		p.Config.ParallelStreams = 16
	}
	if p.Config.GetParallelStreams() <= 0 {
		log.Logger.Info("parallel_streams defaulted to 1")
		p.Config.ParallelStreams = 1
	}
	if p.Config.GetParallelStreams() > 32 {
		log.Logger.Info("parallel_streams capped to 32")
		p.Config.ParallelStreams = 32
	}
	if p.Config.GetParallelRecoveryStreams() > 32 {
		log.Logger.Info("parallel_recovery_streams capped to 32")
		p.Config.ParallelRecoveryStreams = 32
	}
	if p.Config.GetThreads() <= 0 {
		if numCPU > 64 {
			numCPU = 64
		}
		log.Logger.Infof("threads defaulted to %d", numCPU)
		p.Config.Threads = numCPU
	}
	if p.Config.GetThreads() > 64 {
		log.Logger.Info("threads capped to 64")
		p.Config.Threads = 64
	}
	if p.Config.GetBufferSizeMb() <= 0 {
		log.Logger.Info("buffer_size_mb defaulted to 100")
		p.Config.BufferSizeMb = 100
	}
	if p.Config.GetBufferSizeMb() > 250 {
		log.Logger.Info("buffer_size_mb capped to 250")
		p.Config.BufferSizeMb = 250
	}
	if p.Config.GetRateLimitMb() <= 0 {
		log.Logger.Info("rate_limit_mb defaulted to 0")
		p.Config.RateLimitMb = 0
	}
	if p.Config.FileReadTimeoutMs <= 0 {
		log.Logger.Info("file_read_timeout_ms defaulted to 60000")
		p.Config.FileReadTimeoutMs = 60000
	}
	if p.Config.GetInputFile() == "" {
		log.Logger.Info("input_file defaulted to /dev/stdin")
		p.Config.InputFile = "/dev/stdin"
	}
	if p.Config.GetOutputFile() == "" {
		log.Logger.Info("output_file defaulted to /dev/stdout")
		p.Config.OutputFile = "/dev/stdout"
	}
	if p.Config.GetFolderPrefix() != "" {
		if !strings.HasSuffix(p.Config.GetFolderPrefix(), "/") {
			p.Config.FolderPrefix += "/"
		}
		log.Logger.Infof("folder_prefix is set. All objects in the GCS bucket will be prefixed with '%s'", p.Config.GetFolderPrefix())
	}
}