Skip to content

Commit

Permalink
br: not use the custom http client for gcs (#47026) (#47056)
Browse files Browse the repository at this point in the history
close #47022
  • Loading branch information
ti-chi-bot authored Sep 18, 2023
1 parent 774c4e7 commit 71bcc44
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
3 changes: 3 additions & 0 deletions br/pkg/storage/gcs.go
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,9 @@ func NewGCSStorage(ctx context.Context, gcs *backuppb.GCS, opts *ExternalStorage
if gcs.Endpoint != "" {
clientOps = append(clientOps, option.WithEndpoint(gcs.Endpoint))
}
// the HTTPClient should has credential, currently the HTTPClient only has the http.Transport.
// So we remove the HTTPClient in the storage.New().
// Issue: https: //github.com/pingcap/tidb/issues/47022
if opts.HTTPClient != nil {
clientOps = append(clientOps, option.WithHTTPClient(opts.HTTPClient))
}
Expand Down
7 changes: 6 additions & 1 deletion br/pkg/storage/storage.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,9 @@ type ExternalStorageOptions struct {
NoCredentials bool

// HTTPClient to use. The created storage may ignore this field if it is not
// directly using HTTP (e.g. the local storage).
// directly using HTTP (e.g. the local storage) or use self-design HTTP client
// with credential (e.g. the gcs).
// NOTICE: the HTTPClient is only used by s3 storage and azure blob storage.
HTTPClient *http.Client

// CheckPermissions check the given permission in New() function.
Expand Down Expand Up @@ -182,6 +184,9 @@ func New(ctx context.Context, backend *backuppb.StorageBackend, opts *ExternalSt
if backend.Gcs == nil {
return nil, errors.Annotate(berrors.ErrStorageInvalidConfig, "GCS config not found")
}
// the HTTPClient should has credential, currently the HTTPClient only has the http.Transport.
// Issue: https: //github.com/pingcap/tidb/issues/47022
opts.HTTPClient = nil
return NewGCSStorage(ctx, backend.Gcs, opts)
case *backuppb.StorageBackend_AzureBlobStorage:
return newAzureBlobStorage(ctx, backend.AzureBlobStorage, opts)
Expand Down

0 comments on commit 71bcc44

Please sign in to comment.