[#316] Remove MinIO related errors

Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
This commit is contained in:
Angira Kekteeva 2022-01-19 23:10:52 +03:00 committed by Alex Vanin
parent 4c241b76ef
commit 3307953a4c

View file

@ -20,8 +20,6 @@ type (
} }
) )
const maxEConfigJSONSize = 262272
// Error codes, non exhaustive list - http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html // Error codes, non exhaustive list - http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
const ( const (
_ ErrorCode = iota _ ErrorCode = iota
@ -164,60 +162,19 @@ const (
ErrFilterNameSuffix ErrFilterNameSuffix
ErrFilterValueInvalid ErrFilterValueInvalid
ErrOverlappingConfigs ErrOverlappingConfigs
ErrUnsupportedNotification
// S3 extended errors. // S3 extended errors.
ErrContentSHA256Mismatch ErrContentSHA256Mismatch
// Add new extended error codes here. // Add new extended error codes here.
// MinIO extended errors.
// ErrReadQuorum
// ErrWriteQuorum
ErrParentIsObject
ErrStorageFull
ErrRequestBodyParse
ErrObjectExistsAsDirectory
ErrInvalidObjectName ErrInvalidObjectName
ErrInvalidObjectNamePrefixSlash
ErrInvalidResourceName
ErrServerNotInitialized
ErrOperationTimedOut ErrOperationTimedOut
ErrOperationMaxedOut ErrOperationMaxedOut
ErrInvalidRequest ErrInvalidRequest
// MinIO storage class error codes.
ErrInvalidStorageClass ErrInvalidStorageClass
ErrBackendDown
// Add new extended error codes here.
// Please open a https://github.com/minio/minio/issues before adding
// new error codes here.
ErrMalformedJSON ErrMalformedJSON
ErrAdminNoSuchUser
ErrAdminNoSuchGroup
ErrAdminGroupNotEmpty
ErrAdminNoSuchPolicy
ErrAdminInvalidArgument
ErrAdminInvalidAccessKey
ErrAdminInvalidSecretKey
ErrAdminConfigNoQuorum
ErrAdminConfigTooLarge
ErrAdminConfigBadJSON
ErrAdminConfigDuplicateKeys
ErrAdminCredentialsMismatch
ErrInsecureClientRequest ErrInsecureClientRequest
ErrObjectTampered
// Bucket Quota error codes.
ErrAdminBucketQuotaExceeded
ErrAdminNoSuchQuotaConfiguration
ErrAdminBucketQuotaDisabled
ErrHealNotImplemented
ErrHealNoSuchProcess
ErrHealInvalidClientToken
ErrHealMissingBucket
ErrHealAlreadyRunning
ErrHealOverlappingPaths
ErrIncorrectContinuationToken ErrIncorrectContinuationToken
// S3 Select Errors. // S3 Select Errors.
@ -306,12 +263,6 @@ const (
ErrMissingHeaders ErrMissingHeaders
ErrInvalidColumnIndex ErrInvalidColumnIndex
ErrAdminConfigNotificationTargetsFailed
ErrAdminProfilerNotEnabled
ErrInvalidDecompressedSize
ErrAddUserInvalidArgument
ErrAdminAccountNotEligible
ErrServiceAccountNotFound
ErrPostPolicyConditionInvalidFormat ErrPostPolicyConditionInvalidFormat
//CORS configuration errors. //CORS configuration errors.
@ -985,12 +936,6 @@ var errorCodes = errorCodeMap{
Description: "Configurations overlap. Configurations on the same bucket cannot share a common event type.", Description: "Configurations overlap. Configurations on the same bucket cannot share a common event type.",
HTTPStatusCode: http.StatusBadRequest, HTTPStatusCode: http.StatusBadRequest,
}, },
ErrUnsupportedNotification: {
ErrCode: ErrUnsupportedNotification,
Code: "UnsupportedNotification",
Description: "MinIO server does not support Topic or Cloud Function based notifications.",
HTTPStatusCode: http.StatusBadRequest,
},
ErrInvalidCopyPartRange: { ErrInvalidCopyPartRange: {
ErrCode: ErrInvalidCopyPartRange, ErrCode: ErrInvalidCopyPartRange,
Code: "InvalidArgument", Code: "InvalidArgument",
@ -1125,168 +1070,21 @@ var errorCodes = errorCodeMap{
Description: "The provided 'x-amz-content-sha256' header does not match what was computed.", Description: "The provided 'x-amz-content-sha256' header does not match what was computed.",
HTTPStatusCode: http.StatusBadRequest, HTTPStatusCode: http.StatusBadRequest,
}, },
// MinIO extensions.
ErrStorageFull: {
ErrCode: ErrStorageFull,
Code: "XMinioStorageFull",
Description: "Storage backend has reached its minimum free disk threshold. Please delete a few objects to proceed.",
HTTPStatusCode: http.StatusInsufficientStorage,
},
ErrParentIsObject: {
ErrCode: ErrParentIsObject,
Code: "XMinioParentIsObject",
Description: "Object-prefix is already an object, please choose a different object-prefix name.",
HTTPStatusCode: http.StatusBadRequest,
},
ErrRequestBodyParse: {
ErrCode: ErrRequestBodyParse,
Code: "XMinioRequestBodyParse",
Description: "The request body failed to parse.",
HTTPStatusCode: http.StatusBadRequest,
},
ErrObjectExistsAsDirectory: {
ErrCode: ErrObjectExistsAsDirectory,
Code: "XMinioObjectExistsAsDirectory",
Description: "Object name already exists as a directory.",
HTTPStatusCode: http.StatusConflict,
},
ErrInvalidObjectName: { ErrInvalidObjectName: {
ErrCode: ErrInvalidObjectName, ErrCode: ErrInvalidObjectName,
Code: "XMinioInvalidObjectName", Code: "InvalidObjectName",
Description: "Object name contains unsupported characters.", Description: "Object name contains unsupported characters.",
HTTPStatusCode: http.StatusBadRequest, HTTPStatusCode: http.StatusBadRequest,
}, },
ErrInvalidObjectNamePrefixSlash: {
ErrCode: ErrInvalidObjectNamePrefixSlash,
Code: "XMinioInvalidObjectName",
Description: "Object name contains a leading slash.",
HTTPStatusCode: http.StatusBadRequest,
},
ErrInvalidResourceName: {
ErrCode: ErrInvalidResourceName,
Code: "XMinioInvalidResourceName",
Description: "Resource name contains bad components such as \"..\" or \".\".",
HTTPStatusCode: http.StatusBadRequest,
},
ErrServerNotInitialized: {
ErrCode: ErrServerNotInitialized,
Code: "XMinioServerNotInitialized",
Description: "Server not initialized, please try again.",
HTTPStatusCode: http.StatusServiceUnavailable,
},
ErrMalformedJSON: { ErrMalformedJSON: {
ErrCode: ErrMalformedJSON, ErrCode: ErrMalformedJSON,
Code: "XMinioMalformedJSON", Code: "MalformedJSON",
Description: "The JSON you provided was not well-formed or did not validate against our published format.", Description: "The JSON you provided was not well-formed or did not validate against our published format.",
HTTPStatusCode: http.StatusBadRequest, HTTPStatusCode: http.StatusBadRequest,
}, },
ErrAdminNoSuchUser: {
ErrCode: ErrAdminNoSuchUser,
Code: "XMinioAdminNoSuchUser",
Description: "The specified user does not exist.",
HTTPStatusCode: http.StatusNotFound,
},
ErrAdminNoSuchGroup: {
ErrCode: ErrAdminNoSuchGroup,
Code: "XMinioAdminNoSuchGroup",
Description: "The specified group does not exist.",
HTTPStatusCode: http.StatusNotFound,
},
ErrAdminGroupNotEmpty: {
ErrCode: ErrAdminGroupNotEmpty,
Code: "XMinioAdminGroupNotEmpty",
Description: "The specified group is not empty - cannot remove it.",
HTTPStatusCode: http.StatusBadRequest,
},
ErrAdminNoSuchPolicy: {
ErrCode: ErrAdminNoSuchPolicy,
Code: "XMinioAdminNoSuchPolicy",
Description: "The canned policy does not exist.",
HTTPStatusCode: http.StatusNotFound,
},
ErrAdminInvalidArgument: {
ErrCode: ErrAdminInvalidArgument,
Code: "XMinioAdminInvalidArgument",
Description: "Invalid arguments specified.",
HTTPStatusCode: http.StatusBadRequest,
},
ErrAdminInvalidAccessKey: {
ErrCode: ErrAdminInvalidAccessKey,
Code: "XMinioAdminInvalidAccessKey",
Description: "The access key is invalid.",
HTTPStatusCode: http.StatusBadRequest,
},
ErrAdminInvalidSecretKey: {
ErrCode: ErrAdminInvalidSecretKey,
Code: "XMinioAdminInvalidSecretKey",
Description: "The secret key is invalid.",
HTTPStatusCode: http.StatusBadRequest,
},
ErrAdminConfigNoQuorum: {
ErrCode: ErrAdminConfigNoQuorum,
Code: "XMinioAdminConfigNoQuorum",
Description: "Configuration update failed because server quorum was not met",
HTTPStatusCode: http.StatusServiceUnavailable,
},
ErrAdminConfigTooLarge: {
ErrCode: ErrAdminConfigTooLarge,
Code: "XMinioAdminConfigTooLarge",
Description: fmt.Sprintf("Configuration data provided exceeds the allowed maximum of %d bytes",
maxEConfigJSONSize),
HTTPStatusCode: http.StatusBadRequest,
},
ErrAdminConfigBadJSON: {
ErrCode: ErrAdminConfigBadJSON,
Code: "XMinioAdminConfigBadJSON",
Description: "JSON configuration provided is of incorrect format",
HTTPStatusCode: http.StatusBadRequest,
},
ErrAdminConfigDuplicateKeys: {
ErrCode: ErrAdminConfigDuplicateKeys,
Code: "XMinioAdminConfigDuplicateKeys",
Description: "JSON configuration provided has objects with duplicate keys",
HTTPStatusCode: http.StatusBadRequest,
},
ErrAdminConfigNotificationTargetsFailed: {
ErrCode: ErrAdminConfigNotificationTargetsFailed,
Code: "XMinioAdminNotificationTargetsTestFailed",
Description: "Configuration update failed due an unsuccessful attempt to connect to one or more notification servers",
HTTPStatusCode: http.StatusBadRequest,
},
ErrAdminProfilerNotEnabled: {
ErrCode: ErrAdminProfilerNotEnabled,
Code: "XMinioAdminProfilerNotEnabled",
Description: "Unable to perform the requested operation because profiling is not enabled",
HTTPStatusCode: http.StatusBadRequest,
},
ErrAdminCredentialsMismatch: {
ErrCode: ErrAdminCredentialsMismatch,
Code: "XMinioAdminCredentialsMismatch",
Description: "Credentials in config mismatch with server environment variables",
HTTPStatusCode: http.StatusServiceUnavailable,
},
ErrAdminBucketQuotaExceeded: {
ErrCode: ErrAdminBucketQuotaExceeded,
Code: "XMinioAdminBucketQuotaExceeded",
Description: "Bucket quota exceeded",
HTTPStatusCode: http.StatusBadRequest,
},
ErrAdminNoSuchQuotaConfiguration: {
ErrCode: ErrAdminNoSuchQuotaConfiguration,
Code: "XMinioAdminNoSuchQuotaConfiguration",
Description: "The quota configuration does not exist",
HTTPStatusCode: http.StatusNotFound,
},
ErrAdminBucketQuotaDisabled: {
ErrCode: ErrAdminBucketQuotaDisabled,
Code: "XMinioAdminBucketQuotaDisabled",
Description: "Quota specified but disk usage crawl is disabled on MinIO server",
HTTPStatusCode: http.StatusBadRequest,
},
ErrInsecureClientRequest: { ErrInsecureClientRequest: {
ErrCode: ErrInsecureClientRequest, ErrCode: ErrInsecureClientRequest,
Code: "XMinioInsecureClientRequest", Code: "InsecureClientRequest",
Description: "Cannot respond to plain-text request from TLS-encrypted server", Description: "Cannot respond to plain-text request from TLS-encrypted server",
HTTPStatusCode: http.StatusBadRequest, HTTPStatusCode: http.StatusBadRequest,
}, },
@ -1308,12 +1106,6 @@ var errorCodes = errorCodeMap{
Description: "Your metadata headers are not supported.", Description: "Your metadata headers are not supported.",
HTTPStatusCode: http.StatusBadRequest, HTTPStatusCode: http.StatusBadRequest,
}, },
ErrObjectTampered: {
ErrCode: ErrObjectTampered,
Code: "XMinioObjectTampered",
Description: "The requested object was modified and may be compromised",
HTTPStatusCode: http.StatusPartialContent,
},
ErrMaximumExpires: { ErrMaximumExpires: {
ErrCode: ErrMaximumExpires, ErrCode: ErrMaximumExpires,
Code: "AuthorizationQueryParametersError", Code: "AuthorizationQueryParametersError",
@ -1330,48 +1122,6 @@ var errorCodes = errorCodeMap{
Description: "Invalid Request", Description: "Invalid Request",
HTTPStatusCode: http.StatusBadRequest, HTTPStatusCode: http.StatusBadRequest,
}, },
ErrHealNotImplemented: {
ErrCode: ErrHealNotImplemented,
Code: "XMinioHealNotImplemented",
Description: "This server does not implement heal functionality.",
HTTPStatusCode: http.StatusBadRequest,
},
ErrHealNoSuchProcess: {
ErrCode: ErrHealNoSuchProcess,
Code: "XMinioHealNoSuchProcess",
Description: "No such heal process is running on the server",
HTTPStatusCode: http.StatusBadRequest,
},
ErrHealInvalidClientToken: {
ErrCode: ErrHealInvalidClientToken,
Code: "XMinioHealInvalidClientToken",
Description: "Client token mismatch",
HTTPStatusCode: http.StatusBadRequest,
},
ErrHealMissingBucket: {
ErrCode: ErrHealMissingBucket,
Code: "XMinioHealMissingBucket",
Description: "A heal start request with a non-empty object-prefix parameter requires a bucket to be specified.",
HTTPStatusCode: http.StatusBadRequest,
},
ErrHealAlreadyRunning: {
ErrCode: ErrHealAlreadyRunning,
Code: "XMinioHealAlreadyRunning",
Description: "",
HTTPStatusCode: http.StatusBadRequest,
},
ErrHealOverlappingPaths: {
ErrCode: ErrHealOverlappingPaths,
Code: "XMinioHealOverlappingPaths",
Description: "",
HTTPStatusCode: http.StatusBadRequest,
},
ErrBackendDown: {
ErrCode: ErrBackendDown,
Code: "XMinioBackendDown",
Description: "Object storage backend is unreachable",
HTTPStatusCode: http.StatusServiceUnavailable,
},
ErrIncorrectContinuationToken: { ErrIncorrectContinuationToken: {
ErrCode: ErrIncorrectContinuationToken, ErrCode: ErrIncorrectContinuationToken,
Code: "InvalidArgument", Code: "InvalidArgument",
@ -1884,30 +1634,6 @@ var errorCodes = errorCodeMap{
Description: "The column index is invalid. Please check the service documentation and try again.", Description: "The column index is invalid. Please check the service documentation and try again.",
HTTPStatusCode: http.StatusBadRequest, HTTPStatusCode: http.StatusBadRequest,
}, },
ErrInvalidDecompressedSize: {
ErrCode: ErrInvalidDecompressedSize,
Code: "XMinioInvalidDecompressedSize",
Description: "The data provided is unfit for decompression",
HTTPStatusCode: http.StatusBadRequest,
},
ErrAddUserInvalidArgument: {
ErrCode: ErrAddUserInvalidArgument,
Code: "XMinioInvalidIAMCredentials",
Description: "User is not allowed to be same as admin access key",
HTTPStatusCode: http.StatusConflict,
},
ErrAdminAccountNotEligible: {
ErrCode: ErrAdminAccountNotEligible,
Code: "XMinioInvalidIAMCredentials",
Description: "The administrator key is not eligible for this operation",
HTTPStatusCode: http.StatusConflict,
},
ErrServiceAccountNotFound: {
ErrCode: ErrServiceAccountNotFound,
Code: "XMinioInvalidIAMCredentials",
Description: "The specified service account is not found",
HTTPStatusCode: http.StatusNotFound,
},
ErrPostPolicyConditionInvalidFormat: { ErrPostPolicyConditionInvalidFormat: {
ErrCode: ErrPostPolicyConditionInvalidFormat, ErrCode: ErrPostPolicyConditionInvalidFormat,
Code: "PostPolicyInvalidKeyName", Code: "PostPolicyInvalidKeyName",