serverless-plugin-simulate icon indicating copy to clipboard operation
serverless-plugin-simulate copied to clipboard

Handle FunctionError on lambda invoke

Open ezequielm opened this issue 6 years ago • 0 comments

This is a Bug Report

Description

  • What went wrong? When a lambda function is invoked as RequestResponse, using aws-sdk, and the function throws an error, the Response is not correct and the StatusCode is 500. That code is related to internal error in service (not in function)

  • What did you expect should have happened? The StatusCode should be 200 and the response body should contains FunctionError: Handled and and this header X-Amz-Function-Error: FunctionError

  • What stacktrace or error message from your provider did you see?

{ UnknownError: null
    at Object.extractError (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/protocol/json.js:48:27)
    at Request.extractError (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/protocol/rest_json.js:52:8)
    at Request.callListeners (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
    at Request.emit (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/request.js:685:12)

    at Request.callListeners (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
    at Request.emit (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
    at callNextListener (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/sequential_executor.js:95:12)
    at IncomingMessage.onEnd (/Users/ezequielm/Projects/wolof-service-graphql/node_modules/aws-sdk/lib/event_listeners.js:269:13)
    at emitNone (events.js:111:20)
    at IncomingMessage.emit (events.js:208:7)
    at endReadableNT (_stream_readable.js:1064:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickDomainCallback (internal/process/next_tick.js:218:9)
  message: null,
  code: 'UnknownError',
  time: 2018-08-31T21:50:18.201Z,
  requestId: undefined,
  statusCode: 500,
  retryable: true }

Additional Data

  • Serverless Framework Version you're using: 1.27.3
  • Serverless Docker Plugin Version you're using: 0.0.17
  • Operating System: macOS High Sierra

ezequielm avatar Sep 04 '18 19:09 ezequielm