Skip to content

Commit

Permalink
Added option for Download part size via the config
Browse files Browse the repository at this point in the history
  • Loading branch information
gauravkuber committed Oct 1, 2024
1 parent e25ed33 commit c370f6b
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 3 deletions.
1 change: 0 additions & 1 deletion lib/backend/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,4 @@ const (
DefaultBufferGuard datasize.ByteSize = 10 * datasize.MB
DefaultConcurrency int = 10
DefaultListMaxKeys int = 250
DefaultTransferManagerWorkerCount int = 16
)
2 changes: 1 addition & 1 deletion lib/backend/gcsbackend/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ func NewClient(
return nil, fmt.Errorf("invalid gcs credentials: %s", err)
}

downloader, err := transfermanager.NewDownloader(sClient, transfermanager.WithWorkers(config.TransferManagerWorkerCount))
downloader, err := transfermanager.NewDownloader(sClient, transfermanager.WithWorkers(config.TransferManagerWorkerCount), transfermanager.WithPartSize(config.DownloadPartSize))
if err != nil {
return nil, fmt.Errorf("failed to create downloader: %s", err)
}
Expand Down
9 changes: 8 additions & 1 deletion lib/backend/gcsbackend/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,11 @@ type Config struct {
// NamePath identifies which namepath.Pather to use.
NamePath string `yaml:"name_path"`

// TransferManagerWorkerCount sets the number of workers for the transfer manager.
TransferManagerWorkerCount int `yaml:"transfer_manager_worker_count"`

//DownloadPartSize sets the part size for download
DownloadPartSize int64 `yaml:"download_part_size"`
}

// UserAuthConfig defines authentication configuration overlayed by Langley.
Expand All @@ -64,6 +68,9 @@ func (c *Config) applyDefaults() {
c.ListMaxKeys = backend.DefaultListMaxKeys
}
if c.TransferManagerWorkerCount == 0 {
c.TransferManagerWorkerCount = backend.DefaultTransferManagerWorkerCount
c.TransferManagerWorkerCount = backend.DefaultConcurrency
}
if c.DownloadPartSize == 0 {
c.DownloadPartSize = backend.DefaultPartSize
}
}

0 comments on commit c370f6b

Please sign in to comment.