mirror of
https://github.com/minio/minio.git
synced 2025-11-21 02:09:08 -05:00
add support for configurable remote transport deadline (#10447)
configurable remote transport timeouts for some special cases where this value needs to be bumped to a higher value when transferring large data between federated instances.
This commit is contained in:
@@ -38,10 +38,11 @@ func (t *apiConfig) init(cfg api.Config, setDriveCount int) {
|
||||
t.mu.Lock()
|
||||
defer t.mu.Unlock()
|
||||
|
||||
t.readyDeadline = cfg.APIReadyDeadline
|
||||
t.corsAllowOrigins = cfg.APICorsAllowOrigin
|
||||
t.readyDeadline = cfg.ReadyDeadline
|
||||
t.corsAllowOrigins = cfg.CorsAllowOrigin
|
||||
|
||||
var apiRequestsMaxPerNode int
|
||||
if cfg.APIRequestsMax <= 0 {
|
||||
if cfg.RequestsMax <= 0 {
|
||||
stats, err := sys.GetStats()
|
||||
if err != nil {
|
||||
return
|
||||
@@ -51,21 +52,23 @@ func (t *apiConfig) init(cfg api.Config, setDriveCount int) {
|
||||
// ram_per_request is 4MiB * setDriveCount + 2 * 10MiB (default erasure block size)
|
||||
apiRequestsMaxPerNode = int(stats.TotalRAM / uint64(setDriveCount*readBlockSize+blockSizeV1*2))
|
||||
} else {
|
||||
apiRequestsMaxPerNode = cfg.APIRequestsMax
|
||||
apiRequestsMaxPerNode = cfg.RequestsMax
|
||||
if len(globalEndpoints.Hostnames()) > 0 {
|
||||
apiRequestsMaxPerNode /= len(globalEndpoints.Hostnames())
|
||||
}
|
||||
}
|
||||
|
||||
t.requestsPool = make(chan struct{}, apiRequestsMaxPerNode)
|
||||
t.requestsDeadline = cfg.APIRequestsDeadline
|
||||
t.requestsDeadline = cfg.RequestsDeadline
|
||||
}
|
||||
|
||||
func (t *apiConfig) getCorsAllowOrigins() []string {
|
||||
t.mu.RLock()
|
||||
defer t.mu.RUnlock()
|
||||
|
||||
return t.corsAllowOrigins
|
||||
corsAllowOrigins := make([]string, len(t.corsAllowOrigins))
|
||||
copy(corsAllowOrigins, t.corsAllowOrigins)
|
||||
return corsAllowOrigins
|
||||
}
|
||||
|
||||
func (t *apiConfig) getReadyDeadline() time.Duration {
|
||||
|
||||
Reference in New Issue
Block a user