Error Response Headers

Error Response Headers

SCSP error responses have headers detailing the error code, response code (token), and error description. The response for any request with an error code 400 or greater includes three special headers:  castor-system-error-codecastor-system-error-token, and castor-system-error-text. These headers replace the legacy header x-castor-meta-error-message, which is deprecated. (v9.1)

Tip

A failure response may contain a series of cascading errors. Focus on the final error in the series, which is likely to be the issue needing to be addressed:

< HTTP/1.1 412 Precondition Failed
< Castor-System-Error-Token: SecurityRealmFailure
< Castor-System-Error-Text: Failed to load context 'some-domain.example.com/nosuchbucket'.
< Castor-System-Error-Code: 404
< Castor-System-Error-Token: RequiresContext2
< Castor-System-Error-Text: Cannot find required domain or bucket.
< Castor-System-Error-Code: 412
< Content-Length: 130
< Content-Type: text/html
...

  • A text value of "{0}" or "{1}" indicates a variable to be populated by Swarm when the value is generated.

  • A code value of "0" indicates the response code is not static, and is populated by Swarm when the error is generated.

Code

Token

Text

Code

Token

Text

0

CloseException

{0}

0

CloseException2

{0}

0

CloseException3

{0}

500

CloseFailure

{0}

500

CloseFailure2

{0}

500

CloseFailure3

{0}

500

CloseFailure4

{0}

507

ClusterOutOfObjects

Not enough licensed objects in the cluster for request.

507

ClusterOutOfSpace

Not enough licensed space in the cluster for request.

507

ClusterOutOfSpace3

Not enough space in cluster.

507

ClusterOutOfSpace4

Not enough space in cluster.

0

CompletionErrorNonRequest

{0}

0

CompletionErrorRequest

{0}

500

CompletionErrorUnknown

Unknown completion error.

412

ConditionalIfMatch

If-Match condition not met.

412

ConditionalIfMatch2

If-Match condition not met.

304

ConditionalIfModified

If-Modified-Since condition not met.

304

ConditionalIfNoneMatch

If-None-Match condition not met on GET or HEAD.

412

ConditionalIfNoneMatch2

If-None-Match condition not met.

412

ConditionalIfUnmodified

If-Unmodified-Since condition not met.

412

ConditionalMatchNotFound

A matching object was not found on If-Match request.

412

ConditionalNoneMatchFound

A matching object was found on If-None-Match request.

400

CopyMD5Mismatch

The Content-MD5 provided on the COPY request does not match the value in the manifest.

400

CopyMD5Mismatch2

The Content-MD5 provided on the COPY request does not match the value in the manifest.

400

DigesterForbiddenArgs

Content Integrity: 'hashtype' and 'newhashtype' queryArgs cannot be used together.

400

DigesterInvalidHashtype

Content Integrity: unsupported hash type.

400

DigesterMismatch

Persisted {0} did not match request.

400

DigesterMismatch2

{0} did not match computed digest.

400

DigesterMismatch3

Local Content-MD5 did not match remote Content-MD5.

400

DigesterMismatch4

{0} did not match computed digest.

400

DigesterMissingHeader

Expect {0} trailing header not supplied.

500

DigesterMissingRemote

Remote replica did not contain a Content-MD5.

400

DigesterRequiresHash

Content Integrity - 'hash' query arg required with 'hashtype' on GET or COPY.

400

DigesterRequiresHashtype

Content Integrity - 'hashtype' query arg required on request.

412

DigesterSealMismatch

Content Integrity - seal did not validate.

503

ECSegmentClose

Premature segment close on read. Please retry.

406

EncodeInvalidCE

Content-encoding not acceptable.

405

EncodeInvalidMethod

APPEND not allowed for content-encoded objects.

406

EncodeRequiresCE

Content-encoding not found on request or in 'decoderSettings' setting.

500

EnvelopedHeadersTimeout

Content-Type: %s used, but enveloped headers were not sent before timeout.

400

FeedSendHeaderMisuse1

%s header should not be provided on feed SEND request.

400

FeedSendHeaderMisuse2

%s header should not be provided on feed SEND request.

400

FeedSendHeaderMisuse3

%s header should not be provided on feed SEND request.

400

FeedSendIllegalFeedId

feedid query argument must refer to the id of a feed

400

FeedSendIllegalFeedType

feedtype query argument must refer to a feed type.

400

FeedSendIllegalTimeout

timeout query argument must be a positive number.

400

ForbiddenAction

'Action' query arg is not allowed on existing object request.

400

ForbiddenAliasRename

An alias stream cannot be renamed.

400

ForbiddenAliasUUID

Only the COPY operation supports renaming using aliasuuid.

400

ForbiddenConditional

Conditional headers other than If-None-Match:* on a named request not allowed in a POST.

417

ForbiddenContentMD5

Expect:Content-MD5/gencontentmd5 is not supported for APPEND.

400

ForbiddenContext

Cannot write duplicate context.

409

ForbiddenContextName

POST will only create new context objects. Context already exists.

409

ForbiddenContextName2

POST will only create new context objects. Context already exists.

412

ForbiddenDomainName

Cannot rename domain to existing domain name.

400

ForbiddenEtag

Etag query argument not appropriate on write requests.

501

ForbiddenFeature

You must configure Erasure Coding to obtain this functionality.

501

ForbiddenFeature2

You must configure Erasure Coding to obtain this functionality.

501

ForbiddenFeature3

Chunked APPEND not supported in S3 mode.

400

ForbiddenGenID

IsGenId query arg must be used with GET or HEAD methods only.

400

ForbiddenIndexWaitValue

Forbidden value '{0}' with index query argument

400

ForbiddenManifest

{0} not appropriate on this request.

400

ForbiddenManifestEC

Cannot provide erasure coding query args for a manifest write.

400

ForbiddenManifestHeader

'{0}' header only allowed on a POST.

400

ForbiddenManifestHeader2

'{0}' header not allowed on a context request.

405

ForbiddenMethod

Allow header forbids this method on this object.

409

ForbiddenMutable

Operation on mutable object must be by name or alias.

409

ForbiddenMutable2

Can not PUT an immutable object.

409

ForbiddenMutable3

Can not PUT an immutable object.

409

ForbiddenMutable4

Can not COPY an immutable object.

409

ForbiddenMutable5

Can not APPEND an immutable object.

409

ForbiddenMutable6

Can not {0} an immutable object.

400

ForbiddenPolicyHeader

Policy headers are only allowed on domains and buckets.

400

ForbiddenPutCreate

'Putcreate' query argument not allowed on context requests.

412

ForbiddenRename

Cannot rename due to existing object.

400

ForbiddenSegmentEC

Cannot EC an existing segment.

400

ForbiddenSegmentSize

Cannot specify 'segmentsize' on an existing EC object.

409

ForbiddenSegmented

Cannot segment an EC object.

409

ForbiddenSegmented2

Cannot segment an EC object.

400

ForbiddenSegmentedEC

Cannot specify segmented=yes, and provide erasure coding query args.

400

ForbiddenSpec

Cannot specify 'erasurecoded' on an existing object for given method.

400

ForbiddenSpec2

Cannot specify 'encoding' on an existing object for given method.

400

ForbiddenSpec3

Cannot specify 'segmentwidth' on an existing object for given method.

400

ForbiddenSpec4

Cannot specify 'segmentsize' on an existing object for given method.

400

ForbiddenSpec5

Cannot specify 'lifepoint k:p' on an existing object for given method.

400

ForbiddenStreamHeader

Duplicate header values detected for {0}.

403

ForbiddenUUID

UUID forbidden on POST.

403

ForbiddenUUIDName

UUID/Name forbidden on RETRIEVE.

400

ForbiddenVersioning

'Version' query argument may not be used on a context request.

400

ForbiddenVersioning2

'Version' query argument may not be used on an immutable request.

400

ForbiddenVersioning3

DEPRECATED: 'Version' query argument not appropriate in current state.

409

GenRequiresEncoding

GEN can only be performed on segments, by administrative request.

412

IfNoneMatchFail

Named stream already exists with If-None-Match: * specified.

503

InsufficientMemory

Insufficient physical memory

503

InsufficientMemory2

Service unavailable, busy

507

InternodeInsufficientResources

Could not find sufficient resources.

507

InternodeInvalidDistribution

Did not balance across the correct number of subclusters.

507

InternodeInvalidDistribution2

Did not balance evenly across subclusters.

507

InternodeInvalidDistribution3

Did not balance evenly across nodes.

507

InternodeInvalidDistribution4

Did not balance evenly across subclusters.

503

InternodeInvalidState

Failed to detect valid subcluster bids. Try again.

507

InternodeRequiresNodes

No remote nodes are available to take objects of specified size.

507

InternodeRequiresNodes2

Not enough remote nodes are available to take objects of specified size.

507

InternodeRequiresNodes3

Not enough subclusters are available to take objects of specified size.

507

InternodeRequiresNodes4

No nodes found in bid auction.

503

InternodeRequiresNodes5

Not enough nodes are available to take this object.

507

InternodeRequiresSubclusters

Cannot apply subcluster protection when the segment count is not greater than the required segments per subcluster.

500

InternodeUnexpectedCount

Found an unexpected number of nodes, fewer than needed.

507

InternodeUnexpectedCount2

Unexpected number of volumes.

400

InvalidAliasUUID

'Aliasuuid' must be a UUID.

400

InvalidAuthorization

CAStor-authorization header error.

410

InvalidBasisStream

Basis object has been deleted.

503

InvalidBirthdate

Temporary alias conflict after upgrade: try again.

400

InvalidBucketName

Illegal character in bucket name.

400

InvalidCID

'Cid' queryArg must be valid UUID.

400

InvalidContentLength

Content-Length must be zero for COPY request.

400

InvalidContentLength1

WritePattern query argument requires a message body with contentLength greater than 0.

400

InvalidContentLength2

WritePattern pattern must not be larger than value of scsp.writePatternMax.

400

InvalidContentMD5

Content-MD5 not allowed on multipart write initiate request.

400

InvalidContentMD52

Content-MD5 value can not be blank.

400

InvalidContentMD53

Content-MD5 value was not not a valid base64 md5 hash.

400

InvalidCount

'Count' query arg must be > 0 and <= scsp.maxreplicas.

400

InvalidCount2

'Count' query arg must be an integer > 0 and <= scsp.maxreplicas.

400

InvalidDecorates

{0} header may not be added to contexts.

400

InvalidDecorates2

{0} header must be a single UUID.

400

InvalidDecorates3

{0} header must be a valid UUID.

400

InvalidDecorates4

{0} header value must refer to an ETag.

400

InvalidDomainName

Illegal character in domain name.

400

InvalidDomainSpecified

Domain may not change on a recreatecid request.

400

InvalidDomainsDomain

Request must not provide both 'domains' and 'domain' query arguments.

400

InvalidECCombination

Cannot specify no encoding, and provide erasure coding query args.

400

InvalidECEncoding

Invalid EC encoding.

400

InvalidECQueryArgs

Error parsing EC queryArgs.

400

InvalidEntityLength

Expected integer for 'Entity-Length' header value.

400

InvalidEntityLength2

Entity length header does must match Content-Length header.

417

InvalidExpectContentMD5

Expect: Content-MD5/gencontentmd5 not allowed on multipart write initiate request.

400

InvalidMethod

A PATCH request is only valid on a multipart upload initiate.

400

InvalidMethodForListing

A listing request with the 'format' query arg must be a GET not {0}.

400

InvalidModifiedSince

© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.