diff --git a/ReadMe.md b/ReadMe.md index af96923a..1bf8e44e 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -119,7 +119,7 @@ general: restore_schema_on_cluster: "" upload_by_part: true # UPLOAD_BY_PART download_by_part: true # DOWNLOAD_BY_PART - use_resumable_state: true # USE_RESUMABLE_STATE, allow resume upload and download according to the .resumable file + use_resumable_state: true # USE_RESUMABLE_STATE, allow resume upload and download according to the .resumable file. Resumable state is not supported for custom method in remote storage. # RESTORE_DATABASE_MAPPING, restore rules from backup databases to target databases, which is useful when changing destination database, all atomic tables will be created with new UUIDs. # The format for this env variable is "src_db1:target_db1,src_db2:target_db2". For YAML please continue using map syntax @@ -319,7 +319,7 @@ custom: download_command: "" # CUSTOM_DOWNLOAD_COMMAND delete_command: "" # CUSTOM_DELETE_COMMAND list_command: "" # CUSTOM_LIST_COMMAND - command_timeout: "4h" # CUSTOM_COMMAND_TIMEOUT + command_timeout: "4h" # CUSTOM_COMMAND_TIMEOUT api: listen: "localhost:7171" # API_LISTEN enable_metrics: true # API_ENABLE_METRICS @@ -869,4 +869,4 @@ OPTIONS: --full-interval value Interval for run 'create_remote'+'delete local' when stop create incremental backup sequence and create full backup, look format https://pkg.go.dev/time#ParseDuration --watch-backup-name-template value Template for new backup name, could contain names from system.macros, {type} - full or incremental and {time:LAYOUT}, look to https://go.dev/src/time/format.go for layout examples -``` \ No newline at end of file +``` diff --git a/pkg/backup/upload.go b/pkg/backup/upload.go index 4495dd7c..70fb62bc 100644 --- a/pkg/backup/upload.go +++ b/pkg/backup/upload.go @@ -359,7 +359,7 @@ func (b *Backuper) validateUploadParams(ctx context.Context, backupName string, } if b.cfg.General.RemoteStorage == "custom" && b.resume { - return fmt.Errorf("can't resume for `remote_storage: custom`") + return fmt.Errorf("Resumable state not allowed for `remote_storage: custom`. Disable it by setting use_resumable_state=false in `general` config section") } if b.cfg.General.RemoteStorage == "s3" && len(b.cfg.S3.CustomStorageClassMap) > 0 { for pattern, storageClass := range b.cfg.S3.CustomStorageClassMap {