fix return proper error for OperationTimedout (#9117)

OperationTimedout error occurs when locking
timesout, trying to acquire a lock. This
error should be returned appropriately to
the client with http status "408" (request timedout)

This translation was broken, fix it.
master
Harshavardhana 5 years ago committed by GitHub
parent 0af62d35a0
commit 69b2aacf5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      cmd/api-errors.go
  2. 3
      cmd/typed-errors.go

@ -1641,7 +1641,7 @@ func toAPIErrorCode(ctx context.Context, err error) (apiErr APIErrorCode) {
apiErr = ErrKMSNotConfigured apiErr = ErrKMSNotConfigured
case crypto.ErrKMSAuthLogin: case crypto.ErrKMSAuthLogin:
apiErr = ErrKMSAuthFailure apiErr = ErrKMSAuthFailure
case errOperationTimedOut, context.Canceled, context.DeadlineExceeded: case context.Canceled, context.DeadlineExceeded:
apiErr = ErrOperationTimedOut apiErr = ErrOperationTimedOut
case errDiskNotFound: case errDiskNotFound:
apiErr = ErrSlowDown apiErr = ErrSlowDown
@ -1769,6 +1769,8 @@ func toAPIErrorCode(ctx context.Context, err error) (apiErr APIErrorCode) {
apiErr = ErrOverlappingFilterNotification apiErr = ErrOverlappingFilterNotification
case *event.ErrUnsupportedConfiguration: case *event.ErrUnsupportedConfiguration:
apiErr = ErrUnsupportedNotification apiErr = ErrUnsupportedNotification
case OperationTimedOut:
apiErr = ErrOperationTimedOut
case BackendDown: case BackendDown:
apiErr = ErrBackendDown apiErr = ErrBackendDown
case ObjectNameTooLong: case ObjectNameTooLong:

@ -50,9 +50,6 @@ var errRPCAPIVersionUnsupported = errors.New("Unsupported rpc API version")
// errServerTimeMismatch - server times are too far apart. // errServerTimeMismatch - server times are too far apart.
var errServerTimeMismatch = errors.New("Server times are too far apart") var errServerTimeMismatch = errors.New("Server times are too far apart")
// errOperationTimedOut
var errOperationTimedOut = errors.New("Operation timed out")
// errInvalidBucketName - bucket name is reserved for MinIO, usually // errInvalidBucketName - bucket name is reserved for MinIO, usually
// returned for 'minio', '.minio.sys', buckets with capital letters. // returned for 'minio', '.minio.sys', buckets with capital letters.
var errInvalidBucketName = errors.New("The specified bucket is not valid") var errInvalidBucketName = errors.New("The specified bucket is not valid")

Loading…
Cancel
Save