Skip to content

Commit

Permalink
Fix ctx in builtin and fix endpoint resolver
Browse files Browse the repository at this point in the history
Signed-off-by: Florent Poinsard <[email protected]>
  • Loading branch information
frouioui committed Sep 20, 2024
1 parent ff0f5c8 commit 3f591d9
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 4 deletions.
10 changes: 7 additions & 3 deletions go/vt/mysqlctl/builtinbackupengine.go
Original file line number Diff line number Diff line change
Expand Up @@ -399,8 +399,8 @@ func (be *BuiltinBackupEngine) executeFullBackup(ctx context.Context, params Bac
// Save initial state so we can restore.
replicaStartRequired := false
sourceIsPrimary := false
superReadOnly := true //nolint
readOnly := true //nolint
superReadOnly := true // nolint
readOnly := true // nolint
var replicationPosition replication.Position
semiSyncSource, semiSyncReplica := params.Mysqld.SemiSyncEnabled(ctx)

Expand Down Expand Up @@ -793,7 +793,11 @@ func (bp *backupPipe) ReportProgress(period time.Duration, logger logutil.Logger
// backupFile backs up an individual file.
func (be *BuiltinBackupEngine) backupFile(ctx context.Context, params BackupParams, bh backupstorage.BackupHandle, fe *FileEntry, name string) (finalErr error) {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
defer func() {
if finalErr != nil {
cancel()
}
}()
// Open the source file for reading.
openSourceAt := time.Now()
source, err := fe.open(params.Cnf, true)
Expand Down
21 changes: 20 additions & 1 deletion go/vt/mysqlctl/s3backupstorage/s3.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ import (
"github.com/aws/smithy-go/middleware"
"github.com/spf13/pflag"

smithyendpoints "github.com/aws/smithy-go/endpoints"

"vitess.io/vitess/go/vt/concurrency"
"vitess.io/vitess/go/vt/log"
stats "vitess.io/vitess/go/vt/mysqlctl/backupstats"
Expand Down Expand Up @@ -110,6 +112,23 @@ var logNameMap logNameToLogLevel

const sseCustomerPrefix = "sse_c:"

type endpointResolver struct {
r s3.EndpointResolverV2
endpoint *string
}

func (er *endpointResolver) ResolveEndpoint(ctx context.Context, params s3.EndpointParameters) (smithyendpoints.Endpoint, error) {
params.Endpoint = er.endpoint
return er.r.ResolveEndpoint(ctx, params)
}

func newEndpointResolver() *endpointResolver {
return &endpointResolver{
r: s3.NewDefaultEndpointResolverV2(),
endpoint: &endpoint,
}
}

type iClient interface {
manager.UploadAPIClient
manager.DownloadAPIClient
Expand Down Expand Up @@ -493,7 +512,7 @@ func (bs *S3BackupStorage) client() (*s3.Client, error) {
o.RetryMaxAttempts = retryCount
o.Retryer = &ClosedConnectionRetryer{}
}
})
}, s3.WithEndpointResolverV2(newEndpointResolver()))

if len(bucket) == 0 {
return nil, fmt.Errorf("--s3_backup_storage_bucket required")
Expand Down

0 comments on commit 3f591d9

Please sign in to comment.