Amazon Neptune
User Guide (API Version 2017-11-29)

Neptune Service Errors

Amazon Neptune has two different sets of errors.

  • The graph engine errors that are are for the Neptune DB cluster endpoints only.

  • The errors associated with the APIs for creating and modifying Neptune resources with the AWS SDK and CLI.

Graph Engine Error Messages and Codes

Amazon Neptune endpoints return the standard errors for Gremlin and SPARQL when encountered.

Neptune specific errors can also be returned from the same endpoints. This section documents Neptune error messages, codes, and recommended actions.

Note

These errors are for the Neptune DB cluster endpoints only. The APIs for creating and modifying Neptune resources with the AWS SDK and CLI have a different set of common errors. For information on those errors, see Cluster Management Error Messages and Codes.

Error Format

Neptune error messages return a relevant HTTP error code and a JSON formatted response.

HTTP/1.1 400 Bad Request x-amzn-RequestId: LDM6CJP8RMQ1FHKSC1RBVJFPNVV4KQNSO5AEMF66Q9ASUAAJG Content-Type: application/x-amz-json-1.0 Content-Length: 465 Date: Thu, 15 Mar 2017 23:56:23 GMT { "requestId": "0dbcded3-a9a1-4a25-b419-828c46342e47", "code": "ReadOnlyViolationException", "detailedMessage": "The request is rejected because it violates some read-only restriction, such as a designation of a replica as read-only." }

Query Errors

The following table contains the error code, message, and HTTP status.

It also indicates whether it is ok to retry the request. Generally, it is ok to retry the request if it may succeed on a new attempt.

Neptune Service Error Code HTTP status Ok to Retry? Message
BadRequestException 400 No The request could not be completed.
InternalFailureException 500 Yes The request processing has failed.
CancelledByUserException 500 Yes The request processing was cancelled by an authorized client.
InvalidParameterException 400 No An invalid or out-of-range value was supplied for some input parameter or invalid syntax in a supplied RDF file.
MissingParameterException 400 No A required parameter for the specified action is not supplied.
ReadOnlyViolationException 400 No The request is rejected because it violates some read-only restriction, such as a designation of a replica as read-only.
MalformedQueryException 400 No The request is rejected because it contains a query that is syntactically incorrect or does not pass additional validation.
BadRequestException 400 No Request size exceeds max allowed value of 157286400 bytes.
MemoryLimitExceededException 500 Yes The request processing did not succeed due to lack of memory, but can be retried when the server is less busy.
QueryLimitException 400 No Size of query exceeds system limit.
TimeLimitExceededException 500 Yes The request processing timed out.
UnsupportedOperationException 400 No The request uses a currently unsupported feature or construct.
ConstraintViolationException 400 Yes The query engine discovered, during the execution of the request, that the completion of some operation is impossible without violating some data integrity constraints, such as persistence of in- and out-vertices while adding an edge. Such conditions are typically observed if there are concurrent modifications to the graph, and are transient. The client should retry the request.
QueryLimitExceededException 500 Yes The request processing did not succeed due to the lack of a limited resource, but can be retried when the server is less busy.
ConcurrentModificationException 500 Yes The request processing did not succeed due to a modification conflict. The client should retry the request.
QueryTooLargeException 400 No The request was rejected because its body is too large.
MethodNotAllowedException 405 No The request is rejected because the chosen HTTP method is not supported by the used endpoint.
AccessDeniedException 403 No Authentication or authorization failure.
TooManyRequestsException 429 Yes Too many requests.
ThrottlingException 500 Yes Rate of requests exceeds the maximum throughput. OK to retry.

IAM Authentication Errors

These errors are specific to cluster that have IAM authentication enabled.

The following table contains the error code, message, and HTTP status.

Neptune Service Error Code HTTP status Message
Incorrect IAM User/Policy 403 You do not have sufficient access to perform this action.
Incorrect or Missing Region 403 Credential should be scoped to a valid region, not 'region'.
Incorrect or Missing Service Name 403 Credential should be scoped to correct service: 'neptune-db'.
Incorrect or Missing Host Header / Invalid Signature 403 The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. Host header is missing or hostname is incorrect.
Missing X-Amz-Security-Token 403 'x-amz-security-token' is named as a SignedHeader, but it does not exist in the HTTP request
Missing Authorization Header 403 The request did not include the required authorization header, or it was malformed.
Missing Authentication Token 403 Missing Authentication Token.
Old Date 403 Signature expired: 20181011T213907Z is now earlier than 20181011T213915Z (20181011T214415Z - 5 min.)
Future Date 403 Signature not yet current: 20500224T213559Z is still later than 20181108T225925Z (20181108T225425Z + 5 min.)
Incorrect Date Format 403 Date must be in ISO-8601 'basic format'. Got 'date'. See http://en.wikipedia.org/wiki/ISO_8601.
Unknown/Missing Access Key or Session Token 403 The security token included in the request is invalid.
Unknown/Missing Secret Key 403 The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. Host header is missing or hostname is incorrect.

Cluster Management Error Messages and Codes

These errors are associated with the APIs for creating and modifying Neptune resources with the AWS SDK and CLI.

The following table contains the error code, message, and HTTP status.

Neptune Service Error Code HTTP status Message
AccessDeniedException 400

You do not have sufficient access to perform this action.

IncompleteSignature 400

The request signature does not conform to AWS standards.

InternalFailure 500

The request processing has failed because of an unknown error, exception or failure.

InvalidAction 400

The action or operation requested is invalid. Verify that the action is typed correctly.

InvalidClientTokenId 403

The X.509 certificate or AWS access key ID provided does not exist in our records.

InvalidParameterCombination 400

Parameters that must not be used together were used together.

InvalidParameterValue 400

An invalid or out-of-range value was supplied for the input parameter.

InvalidQueryParameter 400

An invalid or out-of-range value was supplied for the input parameter.

MalformedQueryString 404

The query string contains a syntax error.

MissingAction 400

The request is missing an action or a required parameter.

MissingAuthenticationToken 403

The request must contain either a valid (registered) AWS access key ID or X.509 certificate.

MissingParameter 400

A required parameter for the specified action is not supplied.

OptInRequired 403

The AWS access key ID needs a subscription for the service.

RequestExpired 400

The request reached the service more than 15 minutes after the date stamp on the request or more than 15 minutes after the request expiration date (such as for pre-signed URLs), or the date stamp on the request is more than 15 minutes in the future.

ServiceUnavailable 503

The request has failed due to a temporary failure of the server.

ThrottlingException 400

The request was denied due to request throttling.

ValidationError 400

The input fails to satisfy the constraints specified by an AWS service.

Neptune Loader Error and Feed Messages

The following messages are returned by the status endpoint of the Neptune Loader. For more information, see Overall and Feed Status Descriptions.

The following table contains loader feed code and description.

Error or Feed Code Description

LOAD_NOT_STARTED

Load has been recorded but not started.

LOAD_IN_PROGRESS

Load has started and is in progress.

LOAD_COMPLETED

Load has completed without any errors or errors within an acceptable threshold.

LOAD_CANCELLED_BY_USER

Load has been cancelled by user.

LOAD_CANCELLED_DUE_TO_ERRORS

Load has been cancelled by the system due to errors.

LOAD_UNEXPECTED_ERROR

Load failed with an unexpected error.

LOAD_FAILED

Load was rolled back because the error threshold was breached.

LOAD_S3_READ_ERROR

Feed failed due to intermittent or transient Amazon S3 connectivity issues. If any of the feeds receive this error, overall load status is set to LOAD_FAILED.

LOAD_S3_ACCESS_DENIED_ERROR

Access was denied to the S3 bucket. If any of the feeds receive this error, overall load status is set to LOAD_FAILED.

LOAD_COMMITTED_W_WRITE_CONFLICTS

Loaded data committed with unresolved write conflicts.

The loader will try to resolve the write conflicts in separate transactions and update the feed status as the load progresses. If the final feed status is LOAD_COMMITTED_W_WRITE_CONFLICTS, then try resuming the load and it will likely succeed without write conflicts. A write conflict is not usually related to bad input data, but duplicates in data can increase the likelihood of write conflicts.

LOAD_DATA_DEADLOCK

Load was automatically rolled back due to deadlock.

LOAD_DATA_FAILED_DUE_TO_FEED_MODIFIED_OR_DELETED

Feed failed because file was deleted or updated after load start.