fix: remove unnecessary logs for client conn errors (#16261)

This commit is contained in:
Harshavardhana 2022-12-15 08:25:05 -08:00 committed by GitHub
parent 5d7e8f79ed
commit 2433698372
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 19 additions and 21 deletions

View File

@ -151,9 +151,6 @@ func validateAdminSignature(ctx context.Context, r *http.Request, region string)
s3Err = isReqAuthenticated(ctx, r, region, serviceS3) s3Err = isReqAuthenticated(ctx, r, region, serviceS3)
} }
if s3Err != ErrNone { if s3Err != ErrNone {
reqInfo := (&logger.ReqInfo{}).AppendTags("requestHeaders", dumpRequest(r))
ctx := logger.SetReqInfo(ctx, reqInfo)
logger.LogIf(ctx, errors.New(getAPIError(s3Err).Description), logger.Application)
return cred, nil, owner, s3Err return cred, nil, owner, s3Err
} }

View File

@ -431,7 +431,6 @@ func (api objectAPIHandlers) DeleteMultipleObjectsHandler(w http.ResponseWriter,
// Unmarshal list of keys to be deleted. // Unmarshal list of keys to be deleted.
deleteObjectsReq := &DeleteObjectsRequest{} deleteObjectsReq := &DeleteObjectsRequest{}
if err := xmlDecoder(r.Body, deleteObjectsReq, maxBodySize); err != nil { if err := xmlDecoder(r.Body, deleteObjectsReq, maxBodySize); err != nil {
logger.LogIf(ctx, err, logger.Application)
writeErrorResponse(ctx, w, toAPIError(ctx, err), r.URL) writeErrorResponse(ctx, w, toAPIError(ctx, err), r.URL)
return return
} }
@ -511,11 +510,10 @@ func (api objectAPIHandlers) DeleteMultipleObjectsHandler(w http.ResponseWriter,
} }
if object.VersionID != "" && object.VersionID != nullVersionID { if object.VersionID != "" && object.VersionID != nullVersionID {
if _, err := uuid.Parse(object.VersionID); err != nil { if _, err := uuid.Parse(object.VersionID); err != nil {
logger.LogIf(ctx, fmt.Errorf("invalid version-id specified %w", err))
apiErr := errorCodes.ToAPIErr(ErrNoSuchVersion) apiErr := errorCodes.ToAPIErr(ErrNoSuchVersion)
deleteResults[index].errInfo = DeleteError{ deleteResults[index].errInfo = DeleteError{
Code: apiErr.Code, Code: apiErr.Code,
Message: apiErr.Description, Message: fmt.Sprintf("%s (%s)", apiErr.Description, err),
Key: object.ObjectName, Key: object.ObjectName,
VersionID: object.VersionID, VersionID: object.VersionID,
} }
@ -924,16 +922,18 @@ func (api objectAPIHandlers) PostPolicyBucketHandler(w http.ResponseWriter, r *h
// be loaded in memory, the remaining being put in temporary files. // be loaded in memory, the remaining being put in temporary files.
reader, err := r.MultipartReader() reader, err := r.MultipartReader()
if err != nil { if err != nil {
logger.LogIf(ctx, err) apiErr := errorCodes.ToAPIErr(ErrMalformedPOSTRequest)
writeErrorResponse(ctx, w, errorCodes.ToAPIErr(ErrMalformedPOSTRequest), r.URL) apiErr.Description = fmt.Sprintf("%s (%s)", apiErr.Description, err)
writeErrorResponse(ctx, w, apiErr, r.URL)
return return
} }
// Read multipart data and save in memory and in the disk if needed // Read multipart data and save in memory and in the disk if needed
form, err := reader.ReadForm(maxFormMemory) form, err := reader.ReadForm(maxFormMemory)
if err != nil { if err != nil {
logger.LogIf(ctx, err, logger.Application) apiErr := errorCodes.ToAPIErr(ErrMalformedPOSTRequest)
writeErrorResponse(ctx, w, errorCodes.ToAPIErr(ErrMalformedPOSTRequest), r.URL) apiErr.Description = fmt.Sprintf("%s (%s)", apiErr.Description, err)
writeErrorResponse(ctx, w, apiErr, r.URL)
return return
} }
@ -943,8 +943,9 @@ func (api objectAPIHandlers) PostPolicyBucketHandler(w http.ResponseWriter, r *h
// Extract all form fields // Extract all form fields
fileBody, fileName, fileSize, formValues, err := extractPostPolicyFormValues(ctx, form) fileBody, fileName, fileSize, formValues, err := extractPostPolicyFormValues(ctx, form)
if err != nil { if err != nil {
logger.LogIf(ctx, err, logger.Application) apiErr := errorCodes.ToAPIErr(ErrMalformedPOSTRequest)
writeErrorResponse(ctx, w, errorCodes.ToAPIErr(ErrMalformedPOSTRequest), r.URL) apiErr.Description = fmt.Sprintf("%s (%s)", apiErr.Description, err)
writeErrorResponse(ctx, w, apiErr, r.URL)
return return
} }

View File

@ -2416,7 +2416,8 @@ func metricsServerHandler() http.Handler {
enc := expfmt.NewEncoder(w, contentType) enc := expfmt.NewEncoder(w, contentType)
for _, mf := range mfs { for _, mf := range mfs {
if err := enc.Encode(mf); err != nil { if err := enc.Encode(mf); err != nil {
logger.LogIf(r.Context(), err) // client may disconnect for any reasons
// we do not have to log this.
return return
} }
} }

View File

@ -590,7 +590,8 @@ func metricsHandler() http.Handler {
enc := expfmt.NewEncoder(w, contentType) enc := expfmt.NewEncoder(w, contentType)
for _, mf := range mfs { for _, mf := range mfs {
if err := enc.Encode(mf); err != nil { if err := enc.Encode(mf); err != nil {
logger.LogIf(r.Context(), err) // client may disconnect for any reasons
// we do not have to log this.
return return
} }
} }

View File

@ -96,9 +96,7 @@ func getOpts(ctx context.Context, r *http.Request, bucket, object string) (Objec
vid := strings.TrimSpace(r.Form.Get(xhttp.VersionID)) vid := strings.TrimSpace(r.Form.Get(xhttp.VersionID))
if vid != "" && vid != nullVersionID { if vid != "" && vid != nullVersionID {
_, err := uuid.Parse(vid) if _, err := uuid.Parse(vid); err != nil {
if err != nil {
logger.LogIf(ctx, err)
return opts, InvalidVersionID{ return opts, InvalidVersionID{
Bucket: bucket, Bucket: bucket,
Object: object, Object: object,

View File

@ -397,7 +397,7 @@ func (api objectAPIHandlers) getObjectHandler(ctx context.Context, objectAPI Obj
// Handle only errInvalidRange. Ignore other // Handle only errInvalidRange. Ignore other
// parse error and treat it as regular Get // parse error and treat it as regular Get
// request like Amazon S3. // request like Amazon S3.
if rangeErr == errInvalidRange { if errors.Is(rangeErr, errInvalidRange) {
writeErrorResponse(ctx, w, errorCodes.ToAPIErr(ErrInvalidRange), r.URL) writeErrorResponse(ctx, w, errorCodes.ToAPIErr(ErrInvalidRange), r.URL)
return return
} }
@ -433,7 +433,7 @@ func (api objectAPIHandlers) getObjectHandler(ctx context.Context, objectAPI Obj
proxyGetErr := ErrorRespToObjectError(perr, bucket, object) proxyGetErr := ErrorRespToObjectError(perr, bucket, object)
if !isErrObjectNotFound(proxyGetErr) && !isErrVersionNotFound(proxyGetErr) && if !isErrObjectNotFound(proxyGetErr) && !isErrVersionNotFound(proxyGetErr) &&
!isErrPreconditionFailed(proxyGetErr) && !isErrInvalidRange(proxyGetErr) { !isErrPreconditionFailed(proxyGetErr) && !isErrInvalidRange(proxyGetErr) {
logger.LogIf(ctx, fmt.Errorf("Replication proxy failed for %s/%s(%s) - %w", bucket, object, opts.VersionID, perr)) logger.LogIf(ctx, fmt.Errorf("Proxying request (replication) failed for %s/%s(%s) - %w", bucket, object, opts.VersionID, perr))
} }
} }
if reader != nil && proxy.Proxy && perr == nil { if reader != nil && proxy.Proxy && perr == nil {
@ -803,12 +803,12 @@ func (api objectAPIHandlers) headObjectHandler(ctx context.Context, objectAPI Ob
// Handle only errInvalidRange. Ignore other // Handle only errInvalidRange. Ignore other
// parse error and treat it as regular Get // parse error and treat it as regular Get
// request like Amazon S3. // request like Amazon S3.
if err == errInvalidRange { if errors.Is(err, errInvalidRange) {
writeErrorResponseHeadersOnly(w, errorCodes.ToAPIErr(ErrInvalidRange)) writeErrorResponseHeadersOnly(w, errorCodes.ToAPIErr(ErrInvalidRange))
return return
} }
logger.LogIf(ctx, err) logger.LogIf(ctx, err, logger.Application)
} }
} }