Description
AWS Neptune uses a JSON error object for its status message with error details and a dedicated error code. Currently this json object gets combined into the error message string. I propose that we store the status message as a field on the error to allow end-users to deserialize the json into a dictionary.
Example Neptune Errors
GremlinServerError
598: {"detailedMessage":"A timeout occurred within the script or was otherwise cancelled directly during evaluation of [efa5d37d-587c-4409-986a-688129d57e37]","code":"TimeLimitExceededException","requestId":"efa5d37d-587c-4409-986a-688129d57e37"}
GremlinServerError
500: {"detailedMessage":"Failed to complete Insert operation for a Vertex due to conflicting concurrent operations. Please retry. 1 transactions are currently rolling back.","code":"ConcurrentModificationException","requestId":"8946b938-8b75-4623-ac0f-5049bba92e8e"}{{}}