From 6136a963c8a53ebb3ec32a16c38b460562bda56f Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Wed, 8 Jul 2020 10:55:24 -0700 Subject: [PATCH] fix: bump the response header timeout for forwarder as well (#9994) continuation of #9986, add more place where the lower timeout comes into effect. --- cmd/generic-handlers.go | 2 +- cmd/object-handlers.go | 8 ++++---- cmd/web-handlers.go | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cmd/generic-handlers.go b/cmd/generic-handlers.go index e8e642696..8977b160a 100644 --- a/cmd/generic-handlers.go +++ b/cmd/generic-handlers.go @@ -700,7 +700,7 @@ func (f bucketForwardingHandler) ServeHTTP(w http.ResponseWriter, r *http.Reques func setBucketForwardingHandler(h http.Handler) http.Handler { fwd := handlers.NewForwarder(&handlers.Forwarder{ PassHost: true, - RoundTripper: NewGatewayHTTPTransport(), + RoundTripper: newGatewayHTTPTransport(1 * time.Hour), Logger: func(err error) { logger.LogIf(GlobalContext, err) }, diff --git a/cmd/object-handlers.go b/cmd/object-handlers.go index c147bceac..f02ca105b 100644 --- a/cmd/object-handlers.go +++ b/cmd/object-handlers.go @@ -1187,7 +1187,7 @@ func (api objectAPIHandlers) CopyObjectHandler(w http.ResponseWriter, r *http.Re } // Send PutObject request to appropriate instance (in federated deployment) - client, rerr := getRemoteInstanceClientLongTimeout(r, getHostFromSrv(dstRecords)) + core, rerr := getRemoteInstanceClientLongTimeout(r, getHostFromSrv(dstRecords)) if rerr != nil { writeErrorResponse(ctx, w, toAPIError(ctx, rerr), r.URL, guessIsBrowserReq(r)) return @@ -1202,7 +1202,7 @@ func (api objectAPIHandlers) CopyObjectHandler(w http.ResponseWriter, r *http.Re ServerSideEncryption: dstOpts.ServerSideEncryption, UserTags: tag.ToMap(), } - remoteObjInfo, rerr := client.PutObjectWithContext(ctx, dstBucket, dstObject, srcInfo.Reader, + remoteObjInfo, rerr := core.PutObjectWithContext(ctx, dstBucket, dstObject, srcInfo.Reader, srcInfo.Size, "", "", opts) if rerr != nil { writeErrorResponse(ctx, w, toAPIError(ctx, rerr), r.URL, guessIsBrowserReq(r)) @@ -1879,13 +1879,13 @@ func (api objectAPIHandlers) CopyObjectPartHandler(w http.ResponseWriter, r *htt } // Send PutObject request to appropriate instance (in federated deployment) - client, rerr := getRemoteInstanceClientLongTimeout(r, getHostFromSrv(dstRecords)) + core, rerr := getRemoteInstanceClientLongTimeout(r, getHostFromSrv(dstRecords)) if rerr != nil { writeErrorResponse(ctx, w, toAPIError(ctx, rerr), r.URL, guessIsBrowserReq(r)) return } - partInfo, err := client.PutObjectPartWithContext(ctx, dstBucket, dstObject, uploadID, partID, + partInfo, err := core.PutObjectPartWithContext(ctx, dstBucket, dstObject, uploadID, partID, srcInfo.Reader, srcInfo.Size, "", "", dstOpts.ServerSideEncryption) if err != nil { writeErrorResponse(ctx, w, toAPIError(ctx, err), r.URL, guessIsBrowserReq(r)) diff --git a/cmd/web-handlers.go b/cmd/web-handlers.go index 110bb833e..3073a6200 100644 --- a/cmd/web-handlers.go +++ b/cmd/web-handlers.go @@ -632,7 +632,7 @@ func (web *webAPIHandlers) RemoveObject(r *http.Request, args *RemoveObjectArgs, } return toJSONError(ctx, err, args.BucketName) } - core, err := getRemoteInstanceClient(r, getHostFromSrv(sr)) + core, err := getRemoteInstanceClientLongTimeout(r, getHostFromSrv(sr)) if err != nil { return toJSONError(ctx, err, args.BucketName) }