Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configuration error at 'functions[function-name]' unrecognized property 'deadLetter' #46

Open
jordanmaxfightcamp opened this issue Jul 1, 2021 · 12 comments

Comments

@jordanmaxfightcamp
Copy link

jordanmaxfightcamp commented Jul 1, 2021

Receiving this error after trying to use this plugin:

 Serverless Error ----------------------------------------
 
  Configuration error at 'functions['sessions-stream-listener']': unrecognized property 'deadLetter'
 
  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com
 
  Your Environment Information ---------------------------
     Operating System:          darwin
     Node Version:              14.17.0
     Framework Version:         2.46.0 (local)
     Plugin Version:            5.3.0
     SDK Version:               4.2.3
     Components Version:        3.12.0

here is my code:

plugins:
  - serverless-plugin-lambda-dead-letter

functions:
  foo:
    handler: handler.foo

    deadLetter:
      sqs: ${self:custom.foo}
    events:
      - stream:
          type: dynamodb
          arn: ${self:custom.foo}}

Any suggestions? not sure what im doing wrong.

@johannesdr-tb
Copy link

Same issue here

Your Environment Information ---------------------------
Operating System: linux
Node Version: 12.22.1
Framework Version: 2.50.0
Plugin Version: 5.4.3
SDK Version: 4.2.3
Components Version: 3.13.2

@carlosroberto555
Copy link

Same issue here too

Your Environment Information ---------------------------
Operating System: linux
Node Version: 14.4.0
Framework Version: 2.52.1 (local)
Plugin Version: 5.4.3
SDK Version: 4.2.6
Components Version: 3.14.2

@herstand
Copy link

@jordanmaxfightcamp @johannesdr-tb @carlosroberto555
We ran into this as soon as we updated to Serverless 2.x. Are you all on Serverless 2.x?

Looks like Serverless now has a native way to handle dead letter queues which should remove the need for this plugin.

(The plugin readme mentions "At the time this plugin was developed AWS Cloudformation (and serverless) did not support the DeadLetterConfig property of the Lambda", which seems to imply they now do support that property.)

@carlosroberto555
Copy link

@herstand thanks for your comment.

Looks like Serverless now has a native way to handle dead letter queues which should remove the need for this plugin.

But the following configuration only works with SNS, when using SQS it is still necessary to use this plugin
More information here.

@fh-cmays
Copy link

fh-cmays commented Aug 3, 2021

Was anyone able to get this to work?

@carlosroberto555
Copy link

carlosroberto555 commented Aug 3, 2021

Already exists a PR #44 made by @amilliken-ext with the fix for this issue.
Please accept that @gmetzker.

Workaround using his branch:

yarn add -D amilliken-ext/serverless-plugin-lambda-dead-letter

@haguirrear
Copy link

Any updates on this issue?

@thiwanka-aux
Copy link

Still have this issue. :(

@oak2
Copy link

oak2 commented Jan 3, 2022

Please,merge the fixing PR.

@philipwigg
Copy link

Any chance of merging this one?

@manuel-EGO
Copy link

hope this PR is merged soon!

@philipwigg
Copy link

I wasn't really familiar with Lambda DLQs when I hit this issue, so this is what I learned in case it helps anyone.

Lambda Dead Letter queues are not still supported by Serverless natively even in v3 (as opposed to SQS DLQs, which I think are supported).

In 2019, AWS launched Lambda "destinations" which has the same functionality (and more) and is also "preferred".

From the launch blog...

Dead Letter Queues (DLQ) have been available since 2016 and are a great way to handle asynchronous failure situations. Destinations provide more useful capabilities by passing additional function execution information, including code exception stack traces, to more destination services.

Destinations and DLQs can be used together and at the same time although Destinations should be considered a more preferred solution.

Destinations are supported by Serverless natively so there's a possibility to switch to "Destinations" and you don't need this plugin anyone.

The payload format that is received by the DLQ when using Destinations is slightly different so you might need minor code changes if you have code that reads from the DLQ.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants