I'm using Gremlin on Lambda (Node 12.x) to traverse Neptune. Occasionally on a cold start, Neptune will return a 500 error. From CloudWatch:
{
"errorType": "ResponseError",
"errorMessage": "Server error: {\"requestId\":\"2a15ac95-ca36-406b-b210-5f7f98b6dd1d\",\"detailedMessage\":\"An unexpected error has occurred in Neptune.\",\"code\":\"InternalFailureException\"} (500)",
"name": "ResponseError",
"statusCode": 500,
"statusMessage": "{\"requestId\":\"2a15ac95-ca36-406b-b210-5f7f98b6dd1d\",\"detailedMessage\":\"An unexpected error has occurred in Neptune.\",\"code\":\"InternalFailureException\"}",
"statusAttributes": {},
"stack": [
"ResponseError: Server error: {\"requestId\":\"2a15ac95-ca36-406b-b210-5f7f98b6dd1d\",\"detailedMessage\":\"An unexpected error has occurred in Neptune.\",\"code\":\"InternalFailureException\"} (500)",
" at Connection._handleMessage (/var/task/src/services/getFeed/index.js:8774:9)",
" at WebSocket.<anonymous> (/var/task/src/services/getFeed/index.js:8634:43)",
" at WebSocket.emit (events.js:210:5)",
" at WebSocket.EventEmitter.emit (domain.js:476:20)",
" at Receiver._receiver.onmessage (/var/task/src/services/getFeed/index.js:21851:47)",
" at Receiver.dataMessage (/var/task/src/services/getFeed/index.js:21069:14)",
" at Receiver.getData (/var/task/src/services/getFeed/index.js:21019:12)",
" at Receiver.startLoop (/var/task/src/services/getFeed/index.js:20854:16)",
" at Receiver.add (/var/task/src/services/getFeed/index.js:20828:10)",
" at Socket.<anonymous> (/var/task/src/services/getFeed/index.js:21848:22)"
]
}
Logging is enabled in Neptune but I don't see anything being captured in CloudWatch. Subsequent requests to Neptune run fine. How can I further debug this?